diff --git a/src/plugin/xml-digital-teaching/lib/2539d578aeabf7c9.png b/src/plugin/xml-digital-teaching/lib/2539d578aeabf7c9.png
deleted file mode 100644
index 1bf29c6..0000000
Binary files a/src/plugin/xml-digital-teaching/lib/2539d578aeabf7c9.png and /dev/null differ
diff --git a/src/plugin/xml-digital-teaching/lib/6aeb770bcf762778.png b/src/plugin/xml-digital-teaching/lib/6aeb770bcf762778.png
deleted file mode 100644
index d3209c6..0000000
Binary files a/src/plugin/xml-digital-teaching/lib/6aeb770bcf762778.png and /dev/null differ
diff --git a/src/plugin/xml-digital-teaching/lib/catalog.css b/src/plugin/xml-digital-teaching/lib/catalog.css
index 36e6b14..643d30c 100644
--- a/src/plugin/xml-digital-teaching/lib/catalog.css
+++ b/src/plugin/xml-digital-teaching/lib/catalog.css
@@ -1,14 +1,14 @@
-.catalog-node-label[data-v-61c986fa] {
+.catalog-node-label[data-v-a4248782] {
display: flex;
align-items: center;
}
-.catalog-node-label img[data-v-61c986fa] {
+.catalog-node-label img[data-v-a4248782] {
margin-right: 4px;
}
-.xml-show-catalog[data-v-61c986fa] .el-tree-node__content {
+.xml-show-catalog[data-v-a4248782] .el-tree-node__content {
height: auto;
}
-.xml-show-catalog[data-v-61c986fa] .el-tree-node__content .catalog-node-label {
+.xml-show-catalog[data-v-a4248782] .el-tree-node__content .catalog-node-label {
max-width: calc(100% - 24px);
word-break: break-all;
white-space: normal;
diff --git a/src/plugin/xml-digital-teaching/lib/catalog.js b/src/plugin/xml-digital-teaching/lib/catalog.js
index f20903c..73fe9c7 100644
--- a/src/plugin/xml-digital-teaching/lib/catalog.js
+++ b/src/plugin/xml-digital-teaching/lib/catalog.js
@@ -1,6 +1,6 @@
/*
* XmlDigitalTeaching v0.0.1
-* Copyright ©Tue Jul 16 2024 17:22:43 GMT+0800 (中国标准时间) smile
+* Copyright ©Mon Jul 22 2024 15:42:53 GMT+0800 (中国标准时间) smile
* Released under the ISC License.
*/
//
@@ -307,7 +307,7 @@ __vue_render__._withStripped = true;
/* style */
const __vue_inject_styles__ = undefined;
/* scoped */
- const __vue_scope_id__ = "data-v-61c986fa";
+ const __vue_scope_id__ = "data-v-a4248782";
/* module identifier */
const __vue_module_identifier__ = undefined;
/* functional template */
diff --git a/src/plugin/xml-digital-teaching/lib/catalog.min.css b/src/plugin/xml-digital-teaching/lib/catalog.min.css
index 6e6e5d3..b522dac 100644
--- a/src/plugin/xml-digital-teaching/lib/catalog.min.css
+++ b/src/plugin/xml-digital-teaching/lib/catalog.min.css
@@ -1 +1 @@
-.catalog-node-label[data-v-61c986fa]{display:flex;align-items:center}.catalog-node-label img[data-v-61c986fa]{margin-right:4px}.xml-show-catalog[data-v-61c986fa] .el-tree-node__content{height:auto}.xml-show-catalog[data-v-61c986fa] .el-tree-node__content .catalog-node-label{max-width:calc(100% - 24px);word-break:break-all;white-space:normal}.xml-show-catalog .el-tree-node__content{display:flex!important}
\ No newline at end of file
+.catalog-node-label[data-v-a4248782]{display:flex;align-items:center}.catalog-node-label img[data-v-a4248782]{margin-right:4px}.xml-show-catalog[data-v-a4248782] .el-tree-node__content{height:auto}.xml-show-catalog[data-v-a4248782] .el-tree-node__content .catalog-node-label{max-width:calc(100% - 24px);word-break:break-all;white-space:normal}.xml-show-catalog .el-tree-node__content{display:flex!important}
\ No newline at end of file
diff --git a/src/plugin/xml-digital-teaching/lib/ebook.css b/src/plugin/xml-digital-teaching/lib/ebook.css
index d1cbc0c..4e55712 100644
--- a/src/plugin/xml-digital-teaching/lib/ebook.css
+++ b/src/plugin/xml-digital-teaching/lib/ebook.css
@@ -1,9 +1,9 @@
-.xml-ebook-container-h5[data-v-9aae5a66] {
+.xml-ebook-container-h5[data-v-4640bc87] {
}
-.xml-ebook-container-pc[data-v-9aae5a66] {
+.xml-ebook-container-pc[data-v-4640bc87] {
}
-.xml-ebook-container-pad[data-v-9aae5a66] {
+.xml-ebook-container-pad[data-v-4640bc87] {
}
diff --git a/src/plugin/xml-digital-teaching/lib/ebook.js b/src/plugin/xml-digital-teaching/lib/ebook.js
index a0b94bd..d3621b9 100644
--- a/src/plugin/xml-digital-teaching/lib/ebook.js
+++ b/src/plugin/xml-digital-teaching/lib/ebook.js
@@ -1,6 +1,6 @@
/*
* XmlDigitalTeaching v0.0.1
-* Copyright ©Tue Jul 16 2024 17:22:43 GMT+0800 (中国标准时间) smile
+* Copyright ©Mon Jul 22 2024 15:42:53 GMT+0800 (中国标准时间) smile
* Released under the ISC License.
*/
//
@@ -384,6 +384,11 @@ var script = {
default: function () {
return {};
}
+ },
+ isReader: {
+ // 是否阅读器
+ type: Boolean,
+ default: false
}
},
watch: {
@@ -440,12 +445,12 @@ var script = {
});
} else if (info.uploadFileUrl) {
if (info.uploadFileUrl.indexOf('.epub') > 0) {
- this.baseUrl = 'epubjs/index.html#/epub-read?flow=scrolled&bookPath=' + baseUrl;
+ this.baseUrl = '/static/epubjs/index.html#/epub-read?flow=scrolled&bookPath=' + baseUrl;
this.showPdf = true;
this.textInfo = info.name || info.title;
} else {
// const baseUrl = this.resourceBasisPath + info.uploadFileUrl.split('./')[1]
- this.baseUrl = `/pdfjs/web/viewer.html?file=${baseUrl}`;
+ this.baseUrl = `/static/pdfjs/web/viewer.html?file=${baseUrl}`;
this.showPdf = true;
this.textInfo = info.name || info.title;
}
@@ -605,10 +610,11 @@ var __vue_render__ = function () {
height: "600",
src:
item.uploadFileUrl.indexOf(".epub") !== -1
- ? "epubjs/index.html#/epub-read?flow=scrolled&bookPath=" +
+ ? "/static/epubjs/index.html#/epub-read?flow=scrolled&bookPath=" +
item.uploadFileUrl
: item.uploadFileUrl.indexOf(".pdf") !== -1
- ? "/pdfjs/web/viewer.html?file=" + item.uploadFileUrl
+ ? "/static/pdfjs/web/viewer.html?file=" +
+ item.uploadFileUrl
: item.uploadFileUrl,
frameborder: "0",
},
@@ -765,7 +771,7 @@ __vue_render__._withStripped = true;
/* style */
const __vue_inject_styles__ = undefined;
/* scoped */
- const __vue_scope_id__ = "data-v-9aae5a66";
+ const __vue_scope_id__ = "data-v-4640bc87";
/* module identifier */
const __vue_module_identifier__ = undefined;
/* functional template */
diff --git a/src/plugin/xml-digital-teaching/lib/f25e95524c42aff3.png b/src/plugin/xml-digital-teaching/lib/f25e95524c42aff3.png
deleted file mode 100644
index ba1c3b6..0000000
Binary files a/src/plugin/xml-digital-teaching/lib/f25e95524c42aff3.png and /dev/null differ
diff --git a/src/plugin/xml-digital-teaching/lib/fca0f80fbaef5ac6.png b/src/plugin/xml-digital-teaching/lib/fca0f80fbaef5ac6.png
deleted file mode 100644
index 8baf80d..0000000
Binary files a/src/plugin/xml-digital-teaching/lib/fca0f80fbaef5ac6.png and /dev/null differ
diff --git a/src/plugin/xml-digital-teaching/lib/group.js b/src/plugin/xml-digital-teaching/lib/group.js
index b5e8231..1674e22 100644
--- a/src/plugin/xml-digital-teaching/lib/group.js
+++ b/src/plugin/xml-digital-teaching/lib/group.js
@@ -1,6 +1,6 @@
/*
* XmlDigitalTeaching v0.0.1
-* Copyright ©Tue Jul 16 2024 17:22:43 GMT+0800 (中国标准时间) smile
+* Copyright ©Mon Jul 22 2024 15:42:53 GMT+0800 (中国标准时间) smile
* Released under the ISC License.
*/
//
@@ -207,7 +207,7 @@ __vue_render__._withStripped = true;
/* style */
const __vue_inject_styles__ = undefined;
/* scoped */
- const __vue_scope_id__ = "data-v-35e9204b";
+ const __vue_scope_id__ = "data-v-619d09d0";
/* module identifier */
const __vue_module_identifier__ = undefined;
/* functional template */
diff --git a/src/plugin/xml-digital-teaching/lib/html.js b/src/plugin/xml-digital-teaching/lib/html.js
index 7b58833..f26d43b 100644
--- a/src/plugin/xml-digital-teaching/lib/html.js
+++ b/src/plugin/xml-digital-teaching/lib/html.js
@@ -1,6 +1,6 @@
/*
* XmlDigitalTeaching v0.0.1
-* Copyright ©Tue Jul 16 2024 17:22:43 GMT+0800 (中国标准时间) smile
+* Copyright ©Mon Jul 22 2024 15:42:53 GMT+0800 (中国标准时间) smile
* Released under the ISC License.
*/
//
diff --git a/src/plugin/xml-digital-teaching/lib/image.css b/src/plugin/xml-digital-teaching/lib/image.css
index c7b0ba6..1500ca2 100644
--- a/src/plugin/xml-digital-teaching/lib/image.css
+++ b/src/plugin/xml-digital-teaching/lib/image.css
@@ -4,15 +4,15 @@
}
-.el-image__inner[data-v-fb4f6862] {
+.el-image__inner[data-v-45a069ea] {
width: 100% !important;
}
-.xml-image-ping-pu-h5[data-v-fb4f6862] {
+.xml-image-ping-pu-h5[data-v-45a069ea] {
display: flex;
flex-direction: column;
align-items: center;
}
-.xml-image-hua-lang[data-v-fb4f6862] {
+.xml-image-hua-lang[data-v-45a069ea] {
display: flex;
flex-direction: column;
align-items: center;
diff --git a/src/plugin/xml-digital-teaching/lib/image.js b/src/plugin/xml-digital-teaching/lib/image.js
index 1018fa2..5e5c20e 100644
--- a/src/plugin/xml-digital-teaching/lib/image.js
+++ b/src/plugin/xml-digital-teaching/lib/image.js
@@ -1,6 +1,6 @@
/*
* XmlDigitalTeaching v0.0.1
-* Copyright ©Tue Jul 16 2024 17:22:43 GMT+0800 (中国标准时间) smile
+* Copyright ©Mon Jul 22 2024 15:42:53 GMT+0800 (中国标准时间) smile
* Released under the ISC License.
*/
import Vue from 'vue';
@@ -1119,7 +1119,7 @@ __vue_render__$2._withStripped = true;
/* style */
const __vue_inject_styles__$1 = undefined;
/* scoped */
- const __vue_scope_id__$1 = "data-v-fb4f6862";
+ const __vue_scope_id__$1 = "data-v-45a069ea";
/* module identifier */
const __vue_module_identifier__$1 = undefined;
/* functional template */
diff --git a/src/plugin/xml-digital-teaching/lib/image.min.css b/src/plugin/xml-digital-teaching/lib/image.min.css
index 4771ff0..2f56aec 100644
--- a/src/plugin/xml-digital-teaching/lib/image.min.css
+++ b/src/plugin/xml-digital-teaching/lib/image.min.css
@@ -1 +1 @@
-.xml-image-lun-bo .el-carousel__item{text-align:center}.el-image__inner[data-v-fb4f6862]{width:100%!important}.xml-image-ping-pu-h5[data-v-fb4f6862]{display:flex;flex-direction:column;align-items:center}.xml-image-hua-lang[data-v-fb4f6862]{display:flex;flex-direction:column;align-items:center}
\ No newline at end of file
+.xml-image-lun-bo .el-carousel__item{text-align:center}.el-image__inner[data-v-45a069ea]{width:100%!important}.xml-image-ping-pu-h5[data-v-45a069ea]{display:flex;flex-direction:column;align-items:center}.xml-image-hua-lang[data-v-45a069ea]{display:flex;flex-direction:column;align-items:center}
\ No newline at end of file
diff --git a/src/plugin/xml-digital-teaching/lib/imageText.css b/src/plugin/xml-digital-teaching/lib/imageText.css
index 5bb600f..d33a69a 100644
--- a/src/plugin/xml-digital-teaching/lib/imageText.css
+++ b/src/plugin/xml-digital-teaching/lib/imageText.css
@@ -3,31 +3,36 @@
/*# sourceMappingURL=fifth.vue.map */
-/*# sourceMappingURL=first.vue.map */
-
-
/*# sourceMappingURL=fourth.vue.map */
+/*# sourceMappingURL=second.vue.map */
+
+
+/*# sourceMappingURL=eighth.vue.map */
+
+
+/*# sourceMappingURL=sixth.vue.map */
+
+
+/*# sourceMappingURL=first.vue.map */
+
+
/*# sourceMappingURL=seventh.vue.map */
/*# sourceMappingURL=third.vue.map */
+.xml-image-lun-bo .el-carousel__item {
+ text-align: center;
+}
+
-/*# sourceMappingURL=sixth.vue.map */
-
-
-/*# sourceMappingURL=eighth.vue.map */
-
-
-/*# sourceMappingURL=second.vue.map */
-
-.xml-text-h5[data-v-1fc9f10a] {
+.xml-text-h5[data-v-4ae2eebc] {
}
-.xml-text-pc[data-v-1fc9f10a] {
+.xml-text-pc[data-v-4ae2eebc] {
}
-.xml-text-h5[data-v-1fc9f10a] {
+.xml-text-h5[data-v-4ae2eebc] {
}
.xml-text-h5 .inline-audio-wrap,
@@ -101,11 +106,6 @@
/*# sourceMappingURL=XmlText.vue.map */
-.xml-image-lun-bo .el-carousel__item {
- text-align: center;
-}
-
-
/*# sourceMappingURL=XmlTextDialog.vue.map */
@@ -705,15 +705,15 @@
-.el-image__inner[data-v-fb4f6862] {
+.el-image__inner[data-v-45a069ea] {
width: 100% !important;
}
-.xml-image-ping-pu-h5[data-v-fb4f6862] {
+.xml-image-ping-pu-h5[data-v-45a069ea] {
display: flex;
flex-direction: column;
align-items: center;
}
-.xml-image-hua-lang[data-v-fb4f6862] {
+.xml-image-hua-lang[data-v-45a069ea] {
display: flex;
flex-direction: column;
align-items: center;
diff --git a/src/plugin/xml-digital-teaching/lib/imageText.js b/src/plugin/xml-digital-teaching/lib/imageText.js
index 32542b0..1c4a3cb 100644
--- a/src/plugin/xml-digital-teaching/lib/imageText.js
+++ b/src/plugin/xml-digital-teaching/lib/imageText.js
@@ -1,6 +1,6 @@
/*
* XmlDigitalTeaching v0.0.1
-* Copyright ©Tue Jul 16 2024 17:22:43 GMT+0800 (中国标准时间) smile
+* Copyright ©Mon Jul 22 2024 15:42:53 GMT+0800 (中国标准时间) smile
* Released under the ISC License.
*/
import Vue from 'vue';
@@ -1119,7 +1119,7 @@ __vue_render__$e._withStripped = true;
/* style */
const __vue_inject_styles__$d = undefined;
/* scoped */
- const __vue_scope_id__$d = "data-v-fb4f6862";
+ const __vue_scope_id__$d = "data-v-45a069ea";
/* module identifier */
const __vue_module_identifier__$d = undefined;
/* functional template */
@@ -2456,7 +2456,7 @@ __vue_render__$b._withStripped = true;
/* style */
const __vue_inject_styles__$b = undefined;
/* scoped */
- const __vue_scope_id__$b = "data-v-3afbe29e";
+ const __vue_scope_id__$b = "data-v-414d678c";
/* module identifier */
const __vue_module_identifier__$b = undefined;
/* functional template */
@@ -2823,7 +2823,7 @@ __vue_render__$a._withStripped = true;
/* style */
const __vue_inject_styles__$a = undefined;
/* scoped */
- const __vue_scope_id__$a = "data-v-0994a01b";
+ const __vue_scope_id__$a = "data-v-73d8b7a0";
/* module identifier */
const __vue_module_identifier__$a = undefined;
/* functional template */
@@ -12020,1441 +12020,1083 @@ var recorder_mp3_min = createCommonjsModule(function (module) {
https://github.com/xiangyuecn/Recorder
src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
*/
-!function (e) {
- var t = "object" == typeof window && !!window.document,
- a = t ? window : Object;
- !function (e, w) {
+!function (y) {
- var S = function () {},
- f = function (e) {
- return "number" == typeof e;
- },
- N = function (e) {
- return new l(e);
- },
- M = N.LM = "2024-04-09 19:15",
- y = "https://github.com/xiangyuecn/Recorder",
- R = "Recorder",
- A = "getUserMedia",
- V = "srcSampleRate",
- D = "sampleRate",
- i = "bitRate",
- x = "catch",
- t = e[R];
- if (t && t.LM == M) return t.CLog(t.i18n.$T("K8zP::重复导入{1}", 0, R), 3);
- N.IsOpen = function () {
- var e = N.Stream;
- if (e) {
- var t = e.getTracks && e.getTracks() || e.audioTracks || [],
- a = t[0];
- if (a) {
- var n = a.readyState;
- return "live" == n || n == a.LIVE;
- }
- }
- return !1;
- }, N.BufferSize = 4096, N.Destroy = function () {
- for (var e in O(R + " Destroy"), L(), a) a[e]();
+ var v = function () {},
+ V = function (e) {
+ return new t(e);
};
- var a = {};
- N.BindDestroy = function (e, t) {
- a[e] = t;
- }, N.Support = function () {
- if (!w) return !1;
- var e = navigator.mediaDevices || {};
- return e[A] || (e = navigator)[A] || (e[A] = e.webkitGetUserMedia || e.mozGetUserMedia || e.msGetUserMedia), !!e[A] && (N.Scope = e, !!N.GetContext());
- }, N.GetContext = function (e) {
- if (!w) return null;
- var t = window.AudioContext;
- if (t || (t = window.webkitAudioContext), !t) return null;
- var a = N.Ctx;
- if (a && "closed" != a.state || (a = N.Ctx = new t(), N.NewCtxs = N.NewCtxs || [], N.BindDestroy("Ctx", function () {
- var e = N.Ctx;
- e && e.close && (s(e), N.Ctx = 0);
- var t = N.NewCtxs;
- N.NewCtxs = [];
- for (var a = 0; a < t.length; a++) s(t[a]);
- })), e && a.close) try {
- a = new t(), N.NewCtxs.push(a);
- } catch (e) {
- O("GetContext tryNew Error", 1, e);
+ V.LM = "2023-02-01 18:05";
+ var T = "Recorder",
+ d = "getUserMedia",
+ O = "srcSampleRate",
+ N = "sampleRate",
+ x = "catch";
+ V.IsOpen = function () {
+ var e = V.Stream;
+ if (e) {
+ var t = e.getTracks && e.getTracks() || e.audioTracks || [],
+ a = t[0];
+ if (a) {
+ var s = a.readyState;
+ return "live" == s || s == a.LIVE;
}
- return a;
- }, N.CloseNewCtx = function (e) {
- if (e && e != N.Ctx) {
- s(e);
- for (var t = N.NewCtxs || [], a = t.length, n = 0; n < t.length; n++) if (t[n] == e) {
- t.splice(n, 1);
- break;
- }
- O(z("mSxV::剩{1}个GetContext未close", 0, a + "-1=" + t.length), t.length ? 3 : 0);
- }
- };
- var s = function (e) {
- if (e && e.close) {
- e._isC = 1;
- try {
- e.close();
- } catch (e) {
- O("ctx close err", 1, e);
- }
- }
- },
- B = N.ResumeCtx = function (a, n, s, r) {
- var i = 0,
- o = 0,
- _ = 0,
- l = 0,
- f = "EventListener",
- c = "ResumeCtx ",
- u = function (e, t) {
- o && h(), i || (i = 1, e && r(e, l), t && s(l)), t && (!a._LsSC && a["add" + f] && a["add" + f]("statechange", b), a._LsSC = 1, _ = 1);
- },
- h = function (e) {
- if (!e || !o) {
- o = e ? 1 : 0;
- for (var t = ["focus", "mousedown", "mouseup", "touchstart", "touchend"], a = 0; a < t.length; a++) window[(e ? "add" : "remove") + f](t[a], b, !0);
- }
- },
- b = function () {
- var e = a.state,
- t = p(e);
- if (!i && !n(t ? ++l : l)) return u();
- t ? (_ && O(c + "sc " + e, 3), h(1), a.resume().then(function () {
- _ && O(c + "sc " + a.state), u(0, 1);
- })[x](function (e) {
- O(c + "error", 1, e), p(a.state) || u(e.message || "error");
- })) : "closed" == e ? (_ && !a._isC && O(c + "sc " + e, 1), u("ctx closed")) : u(0, 1);
- };
- b();
- },
- p = N.CtxSpEnd = function (e) {
- return "suspended" == e || "interrupted" == e;
- },
- k = function (e) {
- var t = e.state,
- a = "ctx.state=" + t;
- return p(t) && (a += z("nMIy::(注意:ctx不是running状态,rec.open和start至少要有一个在用户操作(触摸、点击等)时进行调用,否则将在rec.start时尝试进行ctx.resume,可能会产生兼容性问题(仅iOS),请参阅文档中runningContext配置)")), a;
- },
- T = "ConnectEnableWebM";
- N[T] = !0;
- var E = "ConnectEnableWorklet";
- N[E] = !1;
- var C = function (e, _) {
- var l = e.BufferSize || N.BufferSize,
- f = e.Stream,
- c = f._RC || f._c || N.GetContext(!0);
- f._c = c;
- var u,
- a,
- h,
- i = function (e) {
- var t = f._m = c.createMediaStreamSource(f),
- a = c.destination,
- n = "createMediaStreamDestination";
- c[n] && (a = f._d = c[n]()), t.connect(e), e.connect(a);
- },
- b = "",
- p = f._call,
- m = function (e) {
- for (var t in p) {
- for (var a = e.length, n = new Int16Array(a), s = 0, r = 0; r < a; r++) {
- var i = Math.max(-1, Math.min(1, e[r]));
- i = i < 0 ? 32768 * i : 32767 * i, n[r] = i, s += Math.abs(i);
- }
- for (var o in p) p[o](n, s);
- return;
- }
- },
- v = "ScriptProcessor",
- d = "audioWorklet",
- o = R + " " + d,
- g = "RecProc",
- w = "MediaRecorder",
- S = w + ".WebM.PCM",
- M = c.createScriptProcessor || c.createJavaScriptNode,
- y = z("ZGlf::。由于{1}内部1秒375次回调,在移动端可能会有性能问题导致回调丢失录音变短,PC端无影响,暂不建议开启{1}。", 0, d),
- A = function () {
- a = f.isWorklet = !1, n(f), O(z("7TU0::Connect采用老的{1},", 0, v) + Y.get(z(N[E] ? "JwCL::但已设置{1}尝试启用{2}" : "VGjB::可设置{1}尝试启用{2}", 2), [R + "." + E + "=true", d]) + b + y, 3);
- var e = f._p = M.call(c, l, 1, 1);
- i(e), e.onaudioprocess = function (e) {
- var t = e.inputBuffer.getChannelData(0);
- m(t);
- };
- },
- k = function () {
- u = f.isWebM = !1, I(f), a = f.isWorklet = !M || N[E];
- var t = window.AudioWorkletNode;
- if (a && c[d] && t) {
- var n = function () {
- return a && f._na;
- },
- s = f._na = function () {
- "" !== h && (clearTimeout(h), h = setTimeout(function () {
- h = 0, n() && (O(z("MxX1::{1}未返回任何音频,恢复使用{2}", 0, d, v), 3), M && A());
- }, 500));
- },
- r = function () {
- if (n()) {
- var e = f._n = new t(c, g, {
- processorOptions: {
- bufferSize: l
- }
- });
- i(e), e.port.onmessage = function (e) {
- h && (clearTimeout(h), h = ""), n() ? m(e.data.val) : a || O(z("XUap::{1}多余回调", 0, d), 3);
- }, O(z("yOta::Connect采用{1},设置{2}可恢复老式{3}", 0, d, R + "." + E + "=false", v) + b + y, 3);
- }
- },
- e = function () {
- if (n()) if (c[g]) r();else {
- var e,
- t,
- a = (t = "class " + g + " extends AudioWorkletProcessor{", t += "constructor " + (e = function (e) {
- return e.toString().replace(/^function|DEL_/g, "").replace(/\$RA/g, o);
- })(function (e) {
- DEL_super(e);
- var t = this,
- a = e.processorOptions.bufferSize;
- t.bufferSize = a, t.buffer = new Float32Array(2 * a), t.pos = 0, t.port.onmessage = function (e) {
- e.data.kill && (t.kill = !0, $C.log("$RA kill call"));
- }, $C.log("$RA .ctor call", e);
- }), t += "process " + e(function (e, t, a) {
- var n = this,
- s = n.bufferSize,
- r = n.buffer,
- i = n.pos;
- if ((e = (e[0] || [])[0] || []).length) {
- r.set(e, i);
- var o = ~~((i += e.length) / s) * s;
- if (o) {
- this.port.postMessage({
- val: r.slice(0, o)
- });
- var _ = r.subarray(o, i);
- (r = new Float32Array(2 * s)).set(_), i = _.length, n.buffer = r;
- }
- n.pos = i;
- }
- return !n.kill;
- }), t = (t += '}try{registerProcessor("' + g + '", ' + g + ')}catch(e){$C.error("' + o + ' Reg Error",e)}').replace(/\$C\./g, "console."), "data:text/javascript;base64," + btoa(unescape(encodeURIComponent(t))));
- c[d].addModule(a).then(function (e) {
- n() && (c[g] = 1, r(), h && s());
- })[x](function (e) {
- O(d + ".addModule Error", 1, e), n() && A();
- });
- }
- };
- B(c, function () {
- return n();
- }, e, e);
- } else A();
- };
- !function () {
- var e = window[w],
- t = "ondataavailable",
- a = "audio/webm; codecs=pcm";
- u = f.isWebM = N[T];
- var n = e && t in e.prototype && e.isTypeSupported(a);
- if (b = n ? "" : z("VwPd::(此浏览器不支持{1})", 0, S), !_ || !u || !n) return k();
- var s = function () {
- return u && f._ra;
- },
- r = (f._ra = function () {
- "" !== h && (clearTimeout(h), h = setTimeout(function () {
- s() && (O(z("vHnb::{1}未返回任何音频,降级使用{2}", 0, w, d), 3), k());
- }, 500));
- }, Object.assign({
- mimeType: a
- }, N.ConnectWebMOptions)),
- i = f._r = new e(f, r),
- o = f._rd = {
- sampleRate: c[D]
- };
- i[t] = function (e) {
- var t = new FileReader();
- t.onloadend = function () {
- if (s()) {
- var e = P(new Uint8Array(t.result), o);
- if (!e) return;
- if (-1 == e) return void k();
- h && (clearTimeout(h), h = ""), m(e);
- } else u || O(z("O9P7::{1}多余回调", 0, w), 3);
- }, t.readAsArrayBuffer(e.data);
- }, i.start(~~(l / 48)), O(z("LMEm::Connect采用{1},设置{2}可恢复使用{3}或老式{4}", 0, S, R + "." + T + "=false", d, v));
- }();
- },
- r = function (e) {
- e._na && e._na(), e._ra && e._ra();
- },
- n = function (e) {
- e._na = null, e._n && (e._n.port.postMessage({
- kill: !0
- }), e._n.disconnect(), e._n = null);
- },
- I = function (e) {
- if (e._ra = null, e._r) {
- try {
- e._r.stop();
- } catch (e) {
- O("mr stop err", 1, e);
- }
- e._r = null;
- }
- },
- L = function (e) {
- var t = (e = e || N) == N,
- a = e.Stream;
- a && (a._m && (a._m.disconnect(), a._m = null), !a._RC && a._c && N.CloseNewCtx(a._c), a._RC = null, a._c = null, a._d && (o(a._d.stream), a._d = null), a._p && (a._p.disconnect(), a._p.onaudioprocess = a._p = null), n(a), I(a), t && o(a)), e.Stream = 0;
- },
- o = N.StopS_ = function (e) {
- for (var t = e.getTracks && e.getTracks() || e.audioTracks || [], a = 0; a < t.length; a++) {
- var n = t[a];
- n.stop && n.stop();
- }
- e.stop && e.stop();
- };
- N.SampleData = function (e, t, a, n, s) {
- var r = "SampleData";
- n || (n = {});
- var i = n.index || 0,
- o = n.offset || 0,
- _ = n.filter;
- if (_ && _.fn && _.sr != t && (_ = null, O(z("d48C::{1}的filter采样率变了,重设滤波", 0, r), 3)), !_) {
- var l = 3 * t / 4 < a ? 0 : a / 2 * 3 / 4;
- _ = {
- fn: l ? N.IIRFilter(!0, t, l) : 0
- };
- }
- _.sr = t;
- var f = _.fn,
- c = n.frameNext || [];
- s || (s = {});
- var u = s.frameSize || 1;
- s.frameType && (u = "mp3" == s.frameType ? 1152 : 1);
- var h = e.length;
- h + 1 < i && O(z("tlbC::{1}似乎传入了未重置chunk {2}", 0, r, i + ">" + h), 3);
- for (var b = 0, p = i; p < h; p++) b += e[p].length;
- b = Math.max(0, b - Math.floor(o));
- var m = t / a;
- 1 < m ? b = Math.floor(b / m) : (m = 1, a = t), b += c.length;
- for (var v = new Int16Array(b), d = 0, p = 0; p < c.length; p++) v[d] = c[p], d++;
- for (; i < h; i++) {
- for (var g = e[i], p = o, w = g.length, S = f && f.Embed, M = 0, y = 0, A = 0, k = 0, R = 0, x = 0; R < w; R++, x++) if (x < w && (S ? (A = g[x], k = S.b0 * A + S.b1 * S.x1 + S.b0 * S.x2 - S.a1 * S.y1 - S.a2 * S.y2, S.x2 = S.x1, S.x1 = A, S.y2 = S.y1, S.y1 = k) : k = f ? f(g[x]) : g[x]), M = y, y = k, 0 != x) {
- var B = Math.floor(p);
- if (R == B) {
- var T = Math.ceil(p),
- E = p - B,
- C = M,
- I = T < w ? y : C,
- L = C + (I - C) * E;
- 32767 < L ? L = 32767 : L < -32768 && (L = -32768), v[d] = L, d++, p += m;
- }
- } else R--;
- o = Math.max(0, p - w);
- }
- c = null;
- var P = v.length % u;
- if (0 < P) {
- var H = 2 * (v.length - P);
- c = new Int16Array(v.buffer.slice(H)), v = new Int16Array(v.buffer.slice(0, H));
- }
- return {
- index: i,
- offset: o,
- filter: _,
- frameNext: c,
- sampleRate: a,
- data: v
- };
- }, N.IIRFilter = function (e, t, a) {
- var n = 2 * Math.PI * a / t,
- s = Math.sin(n),
- r = Math.cos(n),
- i = s / 2,
- o = 1 + i,
- _ = -2 * r / o,
- l = (1 - i) / o;
- if (e) var f = (1 - r) / 2 / o,
- c = (1 - r) / o;else var f = (1 + r) / 2 / o,
- c = -(1 + r) / o;
- var u = 0,
- h = 0,
- b = 0,
- p = 0,
- m = 0,
- v = function (e) {
- return b = f * e + c * u + f * h - _ * p - l * m, h = u, u = e, m = p, p = b;
- };
- return v.Embed = {
- x1: 0,
- x2: 0,
- y1: 0,
- y2: 0,
- b0: f,
- b1: c,
- a1: _,
- a2: l
- }, v;
- }, N.PowerLevel = function (e, t) {
- var a = e / t || 0;
- return a < 1251 ? Math.round(a / 1250 * 10) : Math.round(Math.min(100, Math.max(0, 100 * (1 + Math.log(a / 1e4) / Math.log(10)))));
- }, N.PowerDBFS = function (e) {
- var t = Math.max(.1, e || 0);
- return t = Math.min(t, 32767), t = 20 * Math.log(t / 32767) / Math.log(10), Math.max(-100, Math.round(t));
- }, N.CLog = function (e, t) {
- if ("object" == typeof console) {
- var a = new Date(),
- n = ("0" + a.getMinutes()).substr(-2) + ":" + ("0" + a.getSeconds()).substr(-2) + "." + ("00" + a.getMilliseconds()).substr(-3),
- s = this && this.envIn && this.envCheck && this.id,
- r = ["[" + n + " " + R + (s ? ":" + s : "") + "]" + e],
- i = arguments,
- o = N.CLog,
- _ = 2,
- l = o.log || console.log;
- for (f(t) ? l = 1 == t ? o.error || console.error : 3 == t ? o.warn || console.warn : l : _ = 1; _ < i.length; _++) r.push(i[_]);
- c ? l && l("[IsLoser]" + r[0], 1 < r.length ? r : "") : l.apply(console, r);
- }
- };
- var O = function () {
- N.CLog.apply(this, arguments);
- },
- c = !0;
- try {
- c = !console.log.apply;
- } catch (e) {}
- var _ = 0;
- function l(e) {
- var t = this;
- t.id = ++_, u();
- var a = {
- type: "mp3",
- onProcess: S
- };
- for (var n in e) a[n] = e[n];
- var s = (t.set = a)[i],
- r = a[D];
- (s && !f(s) || r && !f(r)) && t.CLog(z.G("IllegalArgs-1", [z("VtS4::{1}和{2}必须是数值", 0, D, i)]), 1, e), a[i] = +s || 16, a[D] = +r || 16e3, t.state = 0, t._S = 9, t.Sync = {
- O: 9,
- C: 9
- };
}
- N.Sync = {
+ return !1;
+ }, V.BufferSize = 4096, V.Destroy = function () {
+ for (var e in H(T + " Destroy"), S(), a) a[e]();
+ };
+ var a = {};
+ V.BindDestroy = function (e, t) {
+ a[e] = t;
+ }, V.Support = function () {
+ var e = navigator.mediaDevices || {};
+ return e[d] || (e = navigator)[d] || (e[d] = e.webkitGetUserMedia || e.mozGetUserMedia || e.msGetUserMedia), !!e[d] && (V.Scope = e, !!V.GetContext());
+ }, V.GetContext = function () {
+ var e = y.AudioContext;
+ return e || (e = y.webkitAudioContext), e ? (V.Ctx && "closed" != V.Ctx.state || (V.Ctx = new e(), V.BindDestroy("Ctx", function () {
+ var e = V.Ctx;
+ e && e.close && (e.close(), V.Ctx = 0);
+ })), V.Ctx) : null;
+ };
+ var E = "ConnectEnableWebM";
+ V[E] = !0;
+ var P = "ConnectEnableWorklet";
+ V[P] = !1;
+ var g = function (e, _) {
+ var l,
+ i,
+ f,
+ c = e.BufferSize || V.BufferSize,
+ h = V.Ctx,
+ u = e.Stream,
+ o = function (e) {
+ var t = u._m = h.createMediaStreamSource(u),
+ a = h.destination,
+ s = "createMediaStreamDestination";
+ h[s] && (a = h[s]()), t.connect(e), e.connect(a);
+ },
+ m = "",
+ p = u._call,
+ b = function (e) {
+ for (var t in p) {
+ for (var a = e.length, s = new Int16Array(a), n = 0, r = 0; r < a; r++) {
+ var i = Math.max(-1, Math.min(1, e[r]));
+ i = i < 0 ? 32768 * i : 32767 * i, s[r] = i, n += Math.abs(i);
+ }
+ for (var o in p) p[o](s, n);
+ return;
+ }
+ },
+ v = "ScriptProcessor",
+ d = "audioWorklet",
+ g = T + " " + d,
+ S = "RecProc",
+ M = "MediaRecorder",
+ w = M + ".WebM.PCM",
+ R = h.createScriptProcessor || h.createJavaScriptNode,
+ A = "。由于" + d + "内部1秒375次回调,在移动端可能会有性能问题导致回调丢失录音变短,PC端无影响,暂不建议开启" + d + "。",
+ B = function () {
+ i = u.isWorklet = !1, L(u), H("Connect采用老的" + v + "," + (V[P] ? "但已" : "可") + "设置" + T + "." + P + "=true尝试启用" + d + m + A, 3);
+ var e = u._p = R.call(h, c, 1, 1);
+ o(e);
+ var t = "_D220626",
+ a = V[t];
+ a && H("Use " + T + "." + t, 3), e.onaudioprocess = function (e) {
+ var t = e.inputBuffer.getChannelData(0);
+ a ? (t = new Float32Array(t), setTimeout(function () {
+ b(t);
+ })) : b(t);
+ };
+ },
+ k = function () {
+ l = u.isWebM = !1, I(u), i = u.isWorklet = !R || V[P];
+ var t = y.AudioWorkletNode;
+ if (i && h[d] && t) {
+ var s = function () {
+ return i && u._na;
+ },
+ n = u._na = function () {
+ "" !== f && (clearTimeout(f), f = setTimeout(function () {
+ f = 0, s() && (H(d + "未返回任何音频,恢复使用" + v, 3), R && B());
+ }, 500));
+ },
+ r = function () {
+ if (s()) {
+ var e = u._n = new t(h, S, {
+ processorOptions: {
+ bufferSize: c
+ }
+ });
+ o(e), e.port.onmessage = function (e) {
+ f && (clearTimeout(f), f = ""), s() ? b(e.data.val) : i || H(d + "多余回调", 3);
+ }, H("Connect采用" + d + ",设置" + T + "." + P + "=false可恢复老式" + v + m + A, 3);
+ }
+ };
+ h.resume()[p && "finally"](function () {
+ if (s()) if (h[S]) r();else {
+ var e,
+ t,
+ a = (t = "class " + S + " extends AudioWorkletProcessor{", t += "constructor " + (e = function (e) {
+ return e.toString().replace(/^function|DEL_/g, "").replace(/\$RA/g, g);
+ })(function (e) {
+ DEL_super(e);
+ var t = this,
+ a = e.processorOptions.bufferSize;
+ t.bufferSize = a, t.buffer = new Float32Array(2 * a), t.pos = 0, t.port.onmessage = function (e) {
+ e.data.kill && (t.kill = !0, console.log("$RA kill call"));
+ }, console.log("$RA .ctor call", e);
+ }), t += "process " + e(function (e, t, a) {
+ var s = this,
+ n = s.bufferSize,
+ r = s.buffer,
+ i = s.pos;
+ if ((e = (e[0] || [])[0] || []).length) {
+ r.set(e, i);
+ var o = ~~((i += e.length) / n) * n;
+ if (o) {
+ this.port.postMessage({
+ val: r.slice(0, o)
+ });
+ var _ = r.subarray(o, i);
+ (r = new Float32Array(2 * n)).set(_), i = _.length, s.buffer = r;
+ }
+ s.pos = i;
+ }
+ return !s.kill;
+ }), t += '}try{registerProcessor("' + S + '", ' + S + ')}catch(e){console.error("' + g + '注册失败",e)}', "data:text/javascript;base64," + btoa(unescape(encodeURIComponent(t))));
+ h[d].addModule(a).then(function (e) {
+ s() && (h[S] = 1, r(), f && n());
+ })[x](function (e) {
+ H(d + ".addModule失败", 1, e), s() && B();
+ });
+ }
+ });
+ } else B();
+ };
+ !function () {
+ var e = y[M],
+ t = "ondataavailable",
+ a = "audio/webm; codecs=pcm";
+ l = u.isWebM = V[E];
+ var s = e && t in e.prototype && e.isTypeSupported(a);
+ if (m = s ? "" : "(此浏览器不支持" + w + ")", !_ || !l || !s) return k();
+ var n = function () {
+ return l && u._ra;
+ },
+ r = (u._ra = function () {
+ "" !== f && (clearTimeout(f), f = setTimeout(function () {
+ n() && (H(M + "未返回任何音频,降级使用" + d, 3), k());
+ }, 500));
+ }, Object.assign({
+ mimeType: a
+ }, V.ConnectWebMOptions)),
+ i = u._r = new e(u, r),
+ o = u._rd = {
+ sampleRate: h[N]
+ };
+ i[t] = function (e) {
+ var t = new FileReader();
+ t.onloadend = function () {
+ if (n()) {
+ var e = C(new Uint8Array(t.result), o);
+ if (!e) return;
+ if (-1 == e) return void k();
+ f && (clearTimeout(f), f = ""), b(e);
+ } else l || H(M + "多余回调", 3);
+ }, t.readAsArrayBuffer(e.data);
+ }, i.start(~~(c / 48)), H("Connect采用" + w + ",设置" + T + "." + E + "=false可恢复使用" + d + "或老式" + v);
+ }();
+ },
+ L = function (e) {
+ e._na = null, e._n && (e._n.port.postMessage({
+ kill: !0
+ }), e._n.disconnect(), e._n = null);
+ },
+ I = function (e) {
+ e._ra = null, e._r && (e._r.stop(), e._r = null);
+ },
+ S = function (e) {
+ var t = (e = e || V) == V,
+ a = e.Stream;
+ if (a && (a._m && (a._m.disconnect(), a._m = null), a._p && (a._p.disconnect(), a._p.onaudioprocess = a._p = null), L(a), I(a), t)) {
+ for (var s = a.getTracks && a.getTracks() || a.audioTracks || [], n = 0; n < s.length; n++) {
+ var r = s[n];
+ r.stop && r.stop();
+ }
+ a.stop && a.stop();
+ }
+ e.Stream = 0;
+ };
+ V.SampleData = function (e, t, a, s, n) {
+ s || (s = {});
+ var r = s.index || 0,
+ i = s.offset || 0,
+ o = s.frameNext || [];
+ n || (n = {});
+ var _ = n.frameSize || 1;
+ n.frameType && (_ = "mp3" == n.frameType ? 1152 : 1);
+ var l = e.length;
+ l + 1 < r && H("SampleData似乎传入了未重置chunk " + r + ">" + l, 3);
+ for (var f = 0, c = r; c < l; c++) f += e[c].length;
+ f = Math.max(0, f - Math.floor(i));
+ var h = t / a;
+ 1 < h ? f = Math.floor(f / h) : (h = 1, a = t), f += o.length;
+ for (var u = new Int16Array(f), m = 0, c = 0; c < o.length; c++) u[m] = o[c], m++;
+ for (; r < l; r++) {
+ for (var p = e[r], c = i, b = p.length; c < b;) {
+ var v = Math.floor(c),
+ d = Math.ceil(c),
+ g = c - v,
+ S = p[v],
+ M = d < b ? p[d] : (e[r + 1] || [S])[0] || 0;
+ u[m] = S + (M - S) * g, m++, c += h;
+ }
+ i = c - b;
+ }
+ o = null;
+ var w = u.length % _;
+ if (0 < w) {
+ var R = 2 * (u.length - w);
+ o = new Int16Array(u.buffer.slice(R)), u = new Int16Array(u.buffer.slice(0, R));
+ }
+ return {
+ index: r,
+ offset: i,
+ frameNext: o,
+ sampleRate: a,
+ data: u
+ };
+ }, V.PowerLevel = function (e, t) {
+ var a = e / t || 0;
+ return a < 1251 ? Math.round(a / 1250 * 10) : Math.round(Math.min(100, Math.max(0, 100 * (1 + Math.log(a / 1e4) / Math.log(10)))));
+ }, V.PowerDBFS = function (e) {
+ var t = Math.max(.1, e || 0);
+ return t = Math.min(t, 32767), t = 20 * Math.log(t / 32767) / Math.log(10), Math.max(-100, Math.round(t));
+ }, V.CLog = function (e, t) {
+ var a = new Date(),
+ s = ("0" + a.getMinutes()).substr(-2) + ":" + ("0" + a.getSeconds()).substr(-2) + "." + ("00" + a.getMilliseconds()).substr(-3),
+ n = this && this.envIn && this.envCheck && this.id,
+ r = ["[" + s + " " + T + (n ? ":" + n : "") + "]" + e],
+ i = arguments,
+ o = y.console || {},
+ _ = 2,
+ l = o.log;
+ for ("number" == typeof t ? l = 1 == t ? o.error : 3 == t ? o.warn : l : _ = 1; _ < i.length; _++) r.push(i[_]);
+ f ? l && l("[IsLoser]" + r[0], 1 < r.length ? r : "") : l.apply(o, r);
+ };
+ var H = function () {
+ V.CLog.apply(this, arguments);
+ },
+ f = !0;
+ try {
+ f = !console.log.apply;
+ } catch (e) {}
+ var s = 0;
+ function t(e) {
+ this.id = ++s, r();
+ var t = {
+ type: "mp3",
+ bitRate: 16,
+ sampleRate: 16e3,
+ onProcess: v
+ };
+ for (var a in e) t[a] = e[a];
+ this.set = t, this._S = 9, this.Sync = {
O: 9,
C: 9
- }, N.prototype = l.prototype = {
- CLog: O,
- _streamStore: function () {
- return this.set.sourceStream ? this : N;
- },
- _streamCtx: function () {
- var e = this._streamStore().Stream;
- return e && e._c;
- },
- open: function (e, a) {
- var n = this,
- s = n.set,
- r = n._streamStore(),
- i = 0;
- e = e || S;
- var o = function (e, t) {
- t = !!t, n.CLog(z("5tWi::录音open失败:") + e + ",isUserNotAllow:" + t, 1), i && N.CloseNewCtx(i), a && a(e, t);
- };
- n._streamTag = A;
- var _ = function () {
- n.CLog("open ok, id:" + n.id + " stream:" + n._streamTag), e(), n._SO = 0;
- },
- l = r.Sync,
- f = ++l.O,
- c = l.C;
- n._O = n._O_ = f, n._SO = n._S;
- if (w) {
- var t = n.envCheck({
- envName: "H5",
- canProcess: !0
- });
- if (t) o(z("A5bm::不能录音:") + t);else if (s.sourceStream) {
- if (n._streamTag = "set.sourceStream", !N.GetContext()) return void o(z("1iU7::不支持此浏览器从流中获取录音"));
- L(r);
- var u = n.Stream = s.sourceStream;
- u._RC = s.runningContext, u._call = {};
- try {
- C(r);
- } catch (e) {
- return L(r), void o(z("BTW2::从流中打开录音失败:") + e.message);
- }
- _();
- } else {
- var h = function (e, t) {
- try {
- window.top.a;
- } catch (e) {
- return void o(z("Nclz::无权录音(跨域,请尝试给iframe添加麦克风访问策略,如{1})", 0, 'allow="camera;microphone"'));
- }
- /Permission|Allow/i.test(e) ? o(z("gyO5::用户拒绝了录音权限"), !0) : !1 === window.isSecureContext ? o(z("oWNo::浏览器禁止不安全页面录音,可开启https解决")) : /Found/i.test(e) ? o(t + z("jBa9::,无可用麦克风")) : o(t);
- };
- if (N.IsOpen()) _();else if (N.Support()) {
- var b = s.runningContext;
- b || (b = i = N.GetContext(!0));
- var p = function (t) {
- setTimeout(function () {
- t._call = {};
- var e = N.Stream;
- e && (L(), t._call = e._call), (N.Stream = t)._c = b, t._RC = s.runningContext, function () {
- if (c != l.C || !n._O) {
- var e = z("dFm8::open被取消");
- return f == l.O ? n.close() : e = z("VtJO::open被中断"), o(e), !0;
- }
- }() || (N.IsOpen() ? (e && n.CLog(z("upb8::发现同时多次调用open"), 1), C(r, 1), _()) : o(z("Q1GA::录音功能无效:无音频流")));
- }, 100);
- },
- m = function (e) {
- var t = e.name || e.message || e.code + ":" + e;
- n.CLog(z("xEQR::请求录音权限错误"), 1, e), h(t, z("bDOG::无法录音:") + t);
- },
- v = s.audioTrackSet || {};
- v[D] = b[D];
- var d = {
- audio: v
- };
- try {
- var g = N.Scope[A](d, p, m);
- } catch (e) {
- n.CLog(A, 3, e), d = {
- audio: !0
- }, g = N.Scope[A](d, p, m);
- }
- n.CLog(A + "(" + JSON.stringify(d) + ") " + k(b) + z("RiWe::,未配置noiseSuppression和echoCancellation时浏览器可能会自动打开降噪和回声消除,移动端可能会降低系统播放音量(关闭录音后可恢复),请参阅文档中audioTrackSet配置") + "(" + y + ") LM:" + M + " UA:" + navigator.userAgent), g && g.then && g.then(p)[x](m);
- } else h("", z("COxc::此浏览器不支持录音"));
- }
- } else o(z.G("NonBrowser-1", ["open"]) + z("EMJq::,可尝试使用RecordApp解决方案") + "(" + y + "/tree/master/app-support-sample)");
- },
- close: function (e) {
- e = e || S;
- var t = this,
- a = t._streamStore();
- t._stop();
- var n = " stream:" + t._streamTag,
- s = a.Sync;
- if (t._O = 0, t._O_ != s.O) return t.CLog(z("hWVz::close被忽略(因为同时open了多个rec,只有最后一个会真正close)") + n, 3), void e();
- s.C++, L(a), t.CLog("close," + n), e();
- },
- mock: function (e, t) {
- var a = this;
- return a._stop(), a.isMock = 1, a.mockEnvInfo = null, a.buffers = [e], a.recSize = e.length, a._setSrcSR(t), a._streamTag = "mock", a;
- },
- _setSrcSR: function (e) {
- var t = this.set,
- a = t[D];
- e < a ? t[D] = e : a = 0, this[V] = e, this.CLog(V + ": " + e + " set." + D + ": " + t[D] + (a ? " " + z("UHvm::忽略") + ": " + a : ""), a ? 3 : 0);
- },
- envCheck: function (e) {
- var t,
- a = this.set,
- n = "CPU_BE";
- if (t || N[n] || "function" != typeof Int8Array || new Int8Array(new Int32Array([1]).buffer)[0] || (u(n), t = z("Essp::不支持{1}架构", 0, n)), !t) {
- var s = a.type,
- r = this[s + "_envCheck"];
- a.takeoffEncodeChunk && (r ? e.canProcess || (t = z("7uMV::{1}环境不支持实时处理", 0, e.envName)) : t = z("2XBl::{1}类型不支持设置takeoffEncodeChunk", 0, s) + (this[s] ? "" : z("LG7e::(未加载编码器)"))), !t && r && (t = this[s + "_envCheck"](e, a));
+ };
+ }
+ V.Sync = {
+ O: 9,
+ C: 9
+ }, V.prototype = t.prototype = {
+ CLog: H,
+ _streamStore: function () {
+ return this.set.sourceStream ? this : V;
+ },
+ open: function (e, a) {
+ var s = this,
+ n = s._streamStore();
+ e = e || v;
+ var r = function (e, t) {
+ t = !!t, s.CLog("录音open失败:" + e + ",isUserNotAllow:" + t, 1), a && a(e, t);
+ },
+ i = function () {
+ s.CLog("open ok id:" + s.id), e(), s._SO = 0;
+ },
+ o = n.Sync,
+ _ = ++o.O,
+ l = o.C;
+ s._O = s._O_ = _, s._SO = s._S;
+ var t = s.envCheck({
+ envName: "H5",
+ canProcess: !0
+ });
+ if (t) r("不能录音:" + t);else if (s.set.sourceStream) {
+ if (!V.GetContext()) return void r("不支持此浏览器从流中获取录音");
+ S(n), s.Stream = s.set.sourceStream, s.Stream._call = {};
+ try {
+ g(n);
+ } catch (e) {
+ return void r("从流中打开录音失败:" + e.message);
}
- return t || "";
- },
- envStart: function (e, t) {
- var a = this,
- n = a.set;
- if (a.isMock = e ? 1 : 0, a.mockEnvInfo = e, a.buffers = [], a.recSize = 0, e && (a._streamTag = "env$" + e.envName), a.state = 1, a.envInLast = 0, a.envInFirst = 0, a.envInFix = 0, a.envInFixTs = [], a._setSrcSR(t), a.engineCtx = 0, a[n.type + "_start"]) {
- var s = a.engineCtx = a[n.type + "_start"](n);
- s && (s.pcmDatas = [], s.pcmSize = 0);
- }
- },
- envResume: function () {
- this.envInFixTs = [];
- },
- envIn: function (e, t) {
- var s = this,
- r = s.set,
- i = s.engineCtx;
- if (1 == s.state) {
- var a = s[V],
- n = e.length,
- o = N.PowerLevel(t, n),
- _ = s.buffers,
- l = _.length;
- _.push(e);
- var f = _,
- c = l,
- u = Date.now(),
- h = Math.round(n / a * 1e3);
- s.envInLast = u, 1 == s.buffers.length && (s.envInFirst = u - h);
- var b = s.envInFixTs;
- b.splice(0, 0, {
- t: u,
- d: h
- });
- for (var p = u, m = 0, v = 0; v < b.length; v++) {
- var d = b[v];
- if (3e3 < u - d.t) {
- b.length = v;
- break;
- }
- p = d.t, m += d.d;
- }
- var g = b[1],
- w = u - p,
- S = w - m;
- if (w / 3 < S && (g && 1e3 < w || 6 <= b.length)) {
- var M = u - g.t - h;
- if (h / 5 < M) {
- var y = !r.disableEnvInFix;
- if (s.CLog("[" + u + "]" + Y.get(z(y ? "4Kfd::补偿{1}ms" : "bM5i::未补偿{1}ms", 1), [M]), 3), s.envInFix += M, y) {
- var A = new Int16Array(M * a / 1e3);
- n += A.length, _.push(A);
- }
- }
- }
- var k = s.recSize,
- R = n,
- x = k + R;
- if (s.recSize = x, i) {
- var B = N.SampleData(_, a, r[D], i.chunkInfo);
- i.chunkInfo = B, k = i.pcmSize, R = B.data.length, x = k + R, i.pcmSize = x, _ = i.pcmDatas, l = _.length, _.push(B.data), a = B[D];
- }
- var T = Math.round(x / a * 1e3),
- E = _.length,
- C = f.length,
- I = function () {
- for (var e = L ? 0 : -R, t = null == _[0], a = l; a < E; a++) {
- var n = _[a];
- null == n ? t = 1 : (e += n.length, i && n.length && s[r.type + "_encode"](i, n));
- }
- if (t && i) {
- var a = c;
- for (f[0] && (a = 0); a < C; a++) f[a] = null;
- }
- t && (e = L ? R : 0, _[0] = null), i ? i.pcmSize += e : s.recSize += e;
- },
- L = 0,
- P = "rec.set.onProcess";
+ i();
+ } else {
+ var f = function (e, t) {
try {
- L = r.onProcess(_, o, T, a, l, I);
+ y.top.a;
} catch (e) {
- console.error(P + z("gFUF::回调出错是不允许的,需保证不会抛异常"), e);
+ return void r('无权录音(跨域,请尝试给iframe添加麦克风访问策略,如allow="camera;microphone")');
}
- var H = Date.now() - u;
- if (10 < H && 1e3 < s.envInFirst - u && s.CLog(P + z("2ghS::低性能,耗时{1}ms", 0, H), 3), !0 === L) {
- for (var O = 0, v = l; v < E; v++) null == _[v] ? O = 1 : _[v] = new Int16Array(0);
- O ? s.CLog(z("ufqH::未进入异步前不能清除buffers"), 3) : i ? i.pcmSize -= R : s.recSize -= R;
- } else I();
- } else s.state || s.CLog("envIn at state=0", 3);
- },
- start: function () {
- var t = this,
- e = 1;
- if (t.set.sourceStream ? t.Stream || (e = 0) : N.IsOpen() || (e = 0), e) {
- var a = t._streamCtx();
- if (t.CLog(z("kLDN::start 开始录音,") + k(a) + " stream:" + t._streamTag), t._stop(), t.envStart(null, a[D]), t.state = 3, t._SO && t._SO + 1 != t._S) t.CLog(z("Bp2y::start被中断"), 3);else {
- t._SO = 0;
- var n = function () {
- 3 == t.state && (t.state = 1, t.resume());
- },
- s = "AudioContext resume: ";
- B(a, function (e) {
- return e && t.CLog(s + "wait..."), 3 == t.state;
- }, function (e) {
- e && t.CLog(s + a.state), n();
- }, function (e) {
- t.CLog(s + a.state + z("upkE::,可能无法录音:") + e, 1), n();
- });
+ /Permission|Allow/i.test(e) ? r("用户拒绝了录音权限", !0) : !1 === y.isSecureContext ? r("浏览器禁止不安全页面录音,可开启https解决") : /Found/i.test(e) ? r(t + ",无可用麦克风") : r(t);
+ };
+ if (V.IsOpen()) i();else if (V.Support()) {
+ var c = function (t) {
+ setTimeout(function () {
+ t._call = {};
+ var e = V.Stream;
+ e && (S(), t._call = e._call), V.Stream = t, function () {
+ if (l != o.C || !s._O) {
+ var e = "open被取消";
+ return _ == o.O ? s.close() : e = "open被中断", r(e), !0;
+ }
+ }() || (V.IsOpen() ? (e && s.CLog("发现同时多次调用open", 1), g(n, 1), i()) : r("录音功能无效:无音频流"));
+ }, 100);
+ },
+ h = function (e) {
+ var t = e.name || e.message || e.code + ":" + e;
+ s.CLog("请求录音权限错误", 1, e), f(t, "无法录音:" + t);
+ },
+ u = {
+ noiseSuppression: !1,
+ echoCancellation: !1
+ },
+ m = s.set.audioTrackSet;
+ for (var p in m) u[p] = m[p];
+ u.sampleRate = V.Ctx.sampleRate;
+ try {
+ var b = V.Scope[d]({
+ audio: u
+ }, c, h);
+ } catch (e) {
+ s.CLog(d, 3, e), b = V.Scope[d]({
+ audio: !0
+ }, c, h);
}
- } else t.CLog(z("6WmN::start失败:未open"), 1);
- },
- pause: function () {
- var e = this,
- t = e._streamStore().Stream;
- e.state && (e.state = 2, e.CLog("pause"), t && delete t._call[e.id]);
- },
- resume: function () {
- var a = this,
- t = a._streamStore().Stream,
- n = "resume(wait ctx)";
- if (3 == a.state) a.CLog(n);else if (a.state) {
- a.state = 1, a.CLog("resume"), a.envResume(), t && (t._call[a.id] = function (e, t) {
- 1 == a.state && a.envIn(e, t);
- }, r(t));
- var s = a._streamCtx();
- s && B(s, function (e) {
- return e && a.CLog(n + "..."), 1 == a.state;
- }, function (e) {
- e && a.CLog(n + s.state), r(t);
- }, function (e) {
- a.CLog(n + s.state + "[err]" + e, 1);
- });
+ b && b.then && b.then(c)[x](h);
+ } else f("", "此浏览器不支持录音");
+ }
+ },
+ close: function (e) {
+ e = e || v;
+ var t = this,
+ a = t._streamStore();
+ t._stop();
+ var s = a.Sync;
+ if (t._O = 0, t._O_ != s.O) return t.CLog("close被忽略(因为同时open了多个rec,只有最后一个会真正close)", 3), void e();
+ s.C++, S(a), t.CLog("close"), e();
+ },
+ mock: function (e, t) {
+ var a = this;
+ return a._stop(), a.isMock = 1, a.mockEnvInfo = null, a.buffers = [e], a.recSize = e.length, a[O] = t, a;
+ },
+ envCheck: function (e) {
+ var t,
+ a = this.set,
+ s = "CPU_BE";
+ if (t || V[s] || !y.Int8Array || new Int8Array(new Int32Array([1]).buffer)[0] || (r(s), t = "不支持CPU_BE架构"), !t) {
+ var n = a.type;
+ this[n + "_envCheck"] ? t = this[n + "_envCheck"](e, a) : a.takeoffEncodeChunk && (t = n + "类型" + (this[n] ? "" : "(未加载编码器)") + "不支持设置takeoffEncodeChunk");
+ }
+ return t || "";
+ },
+ envStart: function (e, t) {
+ var a = this,
+ s = a.set;
+ a.isMock = e ? 1 : 0, a.mockEnvInfo = e, a.buffers = [], a.recSize = 0, a.envInLast = 0, a.envInFirst = 0, a.envInFix = 0, a.envInFixTs = [];
+ var n = s[N];
+ if (t < n ? s[N] = t : n = 0, a[O] = t, a.CLog(O + ": " + t + " set." + N + ": " + s[N] + (n ? " 忽略" + n : ""), n ? 3 : 0), a.engineCtx = 0, a[s.type + "_start"]) {
+ var r = a.engineCtx = a[s.type + "_start"](s);
+ r && (r.pcmDatas = [], r.pcmSize = 0);
+ }
+ },
+ envResume: function () {
+ this.envInFixTs = [];
+ },
+ envIn: function (e, t) {
+ var n = this,
+ r = n.set,
+ i = n.engineCtx,
+ a = n[O],
+ s = e.length,
+ o = V.PowerLevel(t, s),
+ _ = n.buffers,
+ l = _.length;
+ _.push(e);
+ var f = _,
+ c = l,
+ h = Date.now(),
+ u = Math.round(s / a * 1e3);
+ n.envInLast = h, 1 == n.buffers.length && (n.envInFirst = h - u);
+ var m = n.envInFixTs;
+ m.splice(0, 0, {
+ t: h,
+ d: u
+ });
+ for (var p = h, b = 0, v = 0; v < m.length; v++) {
+ var d = m[v];
+ if (3e3 < h - d.t) {
+ m.length = v;
+ break;
}
- },
- _stop: function (e) {
- var t = this,
- a = t.set;
- t.isMock || t._S++, t.state && (t.pause(), t.state = 0), !e && t[a.type + "_stop"] && (t[a.type + "_stop"](t.engineCtx), t.engineCtx = 0);
- },
- stop: function (c, t, e) {
- var u,
- h = this,
- b = h.set,
- a = h.envInLast - h.envInFirst,
- n = a && h.buffers.length;
- h.CLog(z("Xq4s::stop 和start时差:") + (a ? a + "ms " + z("3CQP::补偿:") + h.envInFix + "ms envIn:" + n + " fps:" + (n / a * 1e3).toFixed(1) : "-") + " stream:" + h._streamTag + " (" + y + ") LM:" + M);
- var p = function () {
- h._stop(), e && h.close();
- },
- m = function (e) {
- h.CLog(z("u8JG::结束录音失败:") + e, 1), t && t(e), p();
- },
- s = function (e, t, a) {
- var n = "arraybuffer",
- s = "dataType",
- r = "DefaultDataType",
- i = h[s] || N[r] || "blob",
- o = s + "=" + i,
- _ = e instanceof ArrayBuffer,
- l = 0,
- f = _ ? e.byteLength : e.size;
- if (i == n ? _ || (l = 1) : "blob" == i ? "function" != typeof Blob ? l = z.G("NonBrowser-1", [o]) + z("1skY::,请设置{1}", 0, R + "." + r + '="' + n + '"') : (_ && (e = new Blob([e], {
- type: t
- })), e instanceof Blob || (l = 1), t = e.type || t) : l = z.G("NotSupport-1", [o]), h.CLog(z("Wv7l::结束录音 编码花{1}ms 音频时长{2}ms 文件大小{3}b", 0, Date.now() - u, a, f) + " " + o + "," + t), l) m(1 != l ? l : z("Vkbd::{1}编码器返回的不是{2}", 0, b.type, i) + ", " + o);else {
- if (b.takeoffEncodeChunk) h.CLog(z("QWnr::启用takeoffEncodeChunk后stop返回的blob长度为0不提供音频数据"), 3);else if (f < Math.max(50, a / 5)) return void m(z("Sz2H::生成的{1}无效", 0, b.type));
- c && c(e, a, t), p();
- }
+ p = d.t, b += d.d;
+ }
+ var g = m[1],
+ S = h - p;
+ if (S / 3 < S - b && (g && 1e3 < S || 6 <= m.length)) {
+ var M = h - g.t - u;
+ if (u / 5 < M) {
+ var w = !r.disableEnvInFix;
+ if (n.CLog("[" + h + "]" + (w ? "" : "未") + "补偿" + M + "ms", 3), n.envInFix += M, w) {
+ var R = new Int16Array(M * a / 1e3);
+ s += R.length, _.push(R);
+ }
+ }
+ }
+ var A = n.recSize,
+ B = s,
+ k = A + B;
+ if (n.recSize = k, i) {
+ var y = V.SampleData(_, a, r[N], i.chunkInfo);
+ i.chunkInfo = y, k = (A = i.pcmSize) + (B = y.data.length), i.pcmSize = k, _ = i.pcmDatas, l = _.length, _.push(y.data), a = y[N];
+ }
+ var T = Math.round(k / a * 1e3),
+ x = _.length,
+ E = f.length,
+ P = function () {
+ for (var e = L ? 0 : -B, t = null == _[0], a = l; a < x; a++) {
+ var s = _[a];
+ null == s ? t = 1 : (e += s.length, i && s.length && n[r.type + "_encode"](i, s));
+ }
+ if (t && i) for (a = c, f[0] && (a = 0); a < E; a++) f[a] = null;
+ t && (e = L ? B : 0, _[0] = null), i ? i.pcmSize += e : n.recSize += e;
+ },
+ L = 0,
+ I = "rec.set.onProcess";
+ try {
+ L = r.onProcess(_, o, T, a, l, P);
+ } catch (e) {
+ console.error(I + "回调出错是不允许的,需保证不会抛异常", e);
+ }
+ var H = Date.now() - h;
+ if (10 < H && 1e3 < n.envInFirst - h && n.CLog(I + "低性能,耗时" + H + "ms", 3), !0 === L) {
+ var C = 0;
+ for (v = l; v < x; v++) null == _[v] ? C = 1 : _[v] = new Int16Array(0);
+ C ? n.CLog("未进入异步前不能清除buffers", 3) : i ? i.pcmSize -= B : n.recSize -= B;
+ } else P();
+ },
+ start: function () {
+ var t = this,
+ a = V.Ctx,
+ e = 1;
+ if (t.set.sourceStream ? t.Stream || (e = 0) : V.IsOpen() || (e = 0), e) {
+ if (t.CLog("开始录音"), t._stop(), t.state = 3, t.envStart(null, a[N]), t._SO && t._SO + 1 != t._S) t.CLog("start被中断", 3);else {
+ t._SO = 0;
+ var s = function () {
+ 3 == t.state && (t.state = 1, t.resume());
};
- if (!h.isMock) {
- var r = 3 == h.state;
- if (!h.state || r) return void m(z("wf9t::未开始录音") + (r ? z("Dl2c::,开始录音前无用户交互导致AudioContext未运行") : ""));
+ if ("suspended" == a.state) {
+ var n = "AudioContext resume: ";
+ t.CLog(n + "wait..."), a.resume().then(function () {
+ t.CLog(n + a.state), s();
+ })[x](function (e) {
+ t.CLog(n + a.state + " 可能无法录音:" + e.message, 1, e), s();
+ });
+ } else s();
}
- h._stop(!0);
- var i = h.recSize;
- if (i) {
- if (h[b.type]) {
- if (h.isMock) {
- var o = h.envCheck(h.mockEnvInfo || {
+ } else t.CLog("未open", 1);
+ },
+ pause: function () {
+ var e = this;
+ e.state && (e.state = 2, e.CLog("pause"), delete e._streamStore().Stream._call[e.id]);
+ },
+ resume: function () {
+ var e,
+ a = this;
+ if (a.state) {
+ a.state = 1, a.CLog("resume"), a.envResume();
+ var t = a._streamStore().Stream;
+ t._call[a.id] = function (e, t) {
+ 1 == a.state && a.envIn(e, t);
+ }, (e = t)._na && e._na(), e._ra && e._ra();
+ }
+ },
+ _stop: function (e) {
+ var t = this,
+ a = t.set;
+ t.isMock || t._S++, t.state && (t.pause(), t.state = 0), !e && t[a.type + "_stop"] && (t[a.type + "_stop"](t.engineCtx), t.engineCtx = 0);
+ },
+ stop: function (a, t, e) {
+ var s,
+ n = this,
+ r = n.set,
+ i = n.envInLast - n.envInFirst,
+ o = i && n.buffers.length;
+ n.CLog("stop 和start时差" + (i ? i + "ms 补偿" + n.envInFix + "ms envIn:" + o + " fps:" + (o / i * 1e3).toFixed(1) : "-"));
+ var _ = function () {
+ n._stop(), e && n.close();
+ },
+ l = function (e) {
+ n.CLog("结束录音失败:" + e, 1), t && t(e), _();
+ },
+ f = function (e, t) {
+ if (n.CLog("结束录音 编码花" + (Date.now() - s) + "ms 音频时长" + t + "ms 文件大小" + e.size + "b"), r.takeoffEncodeChunk) n.CLog("启用takeoffEncodeChunk后stop返回的blob长度为0不提供音频数据", 3);else if (e.size < Math.max(100, t / 2)) return void l("生成的" + r.type + "无效");
+ a && a(e, t), _();
+ };
+ if (!n.isMock) {
+ var c = 3 == n.state;
+ if (!n.state || c) return void l("未开始录音" + (c ? ",开始录音前无用户交互导致AudioContext未运行" : ""));
+ n._stop(!0);
+ }
+ var h = n.recSize;
+ if (h) {
+ if (n.buffers[0]) {
+ if (n[r.type]) {
+ if (n.isMock) {
+ var u = n.envCheck(n.mockEnvInfo || {
envName: "mock",
canProcess: !1
});
- if (o) return void m(z("AxOH::录音错误:") + o);
+ if (u) return void l("录音错误:" + u);
}
- var _ = h.engineCtx;
- if (h[b.type + "_complete"] && _) {
- var l = Math.round(_.pcmSize / b[D] * 1e3);
- return u = Date.now(), void h[b.type + "_complete"](_, function (e, t) {
- s(e, t, l);
- }, m);
+ var m = n.engineCtx;
+ if (n[r.type + "_complete"] && m) {
+ var p = Math.round(m.pcmSize / r[N] * 1e3);
+ return s = Date.now(), void n[r.type + "_complete"](m, function (e) {
+ f(e, p);
+ }, l);
}
- if (u = Date.now(), h.buffers[0]) {
- var f = N.SampleData(h.buffers, h[V], b[D]);
- b[D] = f[D];
- var v = f.data,
- l = Math.round(v.length / b[D] * 1e3);
- h.CLog(z("CxeT::采样:{1} 花:{2}ms", 0, i + "->" + v.length, Date.now() - u)), setTimeout(function () {
- u = Date.now(), h[b.type](v, function (e, t) {
- s(e, t, l);
- }, function (e) {
- m(e);
- });
+ s = Date.now();
+ var b = V.SampleData(n.buffers, n[O], r[N]);
+ r[N] = b[N];
+ var v = b.data;
+ p = Math.round(v.length / r[N] * 1e3), n.CLog("采样" + h + "->" + v.length + " 花:" + (Date.now() - s) + "ms"), setTimeout(function () {
+ s = Date.now(), n[r.type](v, function (e) {
+ f(e, p);
+ }, function (e) {
+ l(e);
});
- } else m(z("xkKd::音频buffers被释放"));
- } else m(z("xGuI::未加载{1}编码器,请尝试到{2}的src/engine内找到{1}的编码器并加载", 0, b.type, R));
- } else m(z("Ltz3::未采集到录音"));
- }
- };
- var P = function (e, t) {
- t.pos || (t.pos = [0], t.tracks = {}, t.bytes = []);
- var a = t.tracks,
- n = [t.pos[0]],
- s = function () {
- t.pos[0] = n[0];
- },
- r = t.bytes.length,
- i = new Uint8Array(r + e.length);
- if (i.set(t.bytes), i.set(e, r), t.bytes = i, !t._ht) {
- if (j(i, n), X(i, n), !H(j(i, n), [24, 83, 128, 103])) return;
- for (j(i, n); n[0] < i.length;) {
- var o = j(i, n),
- _ = X(i, n),
- l = [0],
- f = 0;
- if (!_) return;
- if (H(o, [22, 84, 174, 107])) {
- for (; l[0] < _.length;) {
- var c = j(_, l),
- u = X(_, l),
- h = [0],
- b = {
- channels: 0,
- sampleRate: 0
- };
- if (H(c, [174])) for (; h[0] < u.length;) {
- var p = j(u, h),
- m = X(u, h),
- v = [0];
- if (H(p, [215])) {
- var d = F(m);
- b.number = d, a[d] = b;
- } else if (H(p, [131])) {
- var d = F(m);
- 1 == d ? b.type = "video" : 2 == d ? (b.type = "audio", f || (t.track0 = b), b.idx = f++) : b.type = "Type-" + d;
- } else if (H(p, [134])) {
- for (var g = "", w = 0; w < m.length; w++) g += String.fromCharCode(m[w]);
- b.codec = g;
- } else if (H(p, [225])) for (; v[0] < m.length;) {
- var S = j(m, v),
- M = X(m, v);
- if (H(S, [181])) {
- var d = 0,
- y = new Uint8Array(M.reverse()).buffer;
- 4 == M.length ? d = new Float32Array(y)[0] : 8 == M.length ? d = new Float64Array(y)[0] : O("WebM Track !Float", 1, M), b[D] = Math.round(d);
- } else H(S, [98, 100]) ? b.bitDepth = F(M) : H(S, [159]) && (b.channels = F(M));
- }
+ });
+ } else l("未加载" + r.type + "编码器");
+ } else l("音频buffers被释放");
+ } else l("未采集到录音");
+ }
+ }, y[T] && (H("重复引入" + T, 3), y[T].Destroy()), y[T] = V;
+ var C = function (e, t) {
+ t.pos || (t.pos = [0], t.tracks = {}, t.bytes = []);
+ var a = t.tracks,
+ s = [t.pos[0]],
+ n = function () {
+ t.pos[0] = s[0];
+ },
+ r = t.bytes.length,
+ i = new Uint8Array(r + e.length);
+ if (i.set(t.bytes), i.set(e, r), t.bytes = i, !t._ht) {
+ if (X(i, s), q(i, s), !D(X(i, s), [24, 83, 128, 103])) return;
+ for (X(i, s); s[0] < i.length;) {
+ var o = X(i, s),
+ _ = q(i, s),
+ l = [0],
+ f = 0;
+ if (!_) return;
+ if (D(o, [22, 84, 174, 107])) {
+ for (; l[0] < _.length;) {
+ var c = X(_, l),
+ h = q(_, l),
+ u = [0],
+ m = {
+ channels: 0,
+ sampleRate: 0
+ };
+ if (D(c, [174])) for (; u[0] < h.length;) {
+ var p = X(h, u),
+ b = q(h, u),
+ v = [0];
+ if (D(p, [215])) {
+ var d = Y(b);
+ m.number = d, a[d] = m;
+ } else if (D(p, [131])) {
+ var d = Y(b);
+ 1 == d ? m.type = "video" : 2 == d ? (m.type = "audio", f || (t.track0 = m), m.idx = f++) : m.type = "Type-" + d;
+ } else if (D(p, [134])) {
+ for (var g = "", S = 0; S < b.length; S++) g += String.fromCharCode(b[S]);
+ m.codec = g;
+ } else if (D(p, [225])) for (; v[0] < b.length;) {
+ var M = X(b, v),
+ w = q(b, v);
+ if (D(M, [181])) {
+ var d = 0,
+ R = new Uint8Array(w.reverse()).buffer;
+ 4 == w.length ? d = new Float32Array(R)[0] : 8 == w.length ? d = new Float64Array(R)[0] : H("WebM Track !Float", 1, w), m[N] = Math.round(d);
+ } else D(M, [98, 100]) ? m.bitDepth = Y(w) : D(M, [159]) && (m.channels = Y(w));
}
}
- t._ht = 1, O("WebM Tracks", a), s();
- break;
}
- }
- }
- var A = t.track0;
- if (A) {
- if (16 == A.bitDepth && /FLOAT/i.test(A.codec) && (A.bitDepth = 32, O("WebM 16->32 bit", 3)), A[D] != t[D] || 32 != A.bitDepth || A.channels < 1 || !/(\b|_)PCM\b/i.test(A.codec)) return t.bytes = [], t.bad || O("WebM Track Unexpected", 3, t), -(t.bad = 1);
- for (var k = [], R = 0; n[0] < i.length;) {
- var c = j(i, n),
- u = X(i, n);
- if (!u) break;
- if (H(c, [163])) {
- var x = 15 & u[0],
- b = a[x];
- if (b) {
- if (0 === b.idx) {
- for (var B = new Uint8Array(u.length - 4), w = 4; w < u.length; w++) B[w - 4] = u[w];
- k.push(B), R += B.length;
- }
- } else O("WebM !Track" + x, 1, a);
- }
- s();
- }
- if (R) {
- var T = new Uint8Array(i.length - t.pos[0]);
- T.set(i.subarray(t.pos[0])), t.bytes = T, t.pos[0] = 0;
- for (var B = new Uint8Array(R), w = 0, E = 0; w < k.length; w++) B.set(k[w], E), E += k[w].length;
- var y = new Float32Array(B.buffer);
- if (1 < A.channels) {
- for (var C = [], w = 0; w < y.length;) C.push(y[w]), w += A.channels;
- y = new Float32Array(C);
- }
- return y;
- }
- }
- },
- H = function (e, t) {
- if (!e || e.length != t.length) return !1;
- if (1 == e.length) return e[0] == t[0];
- for (var a = 0; a < e.length; a++) if (e[a] != t[a]) return !1;
- return !0;
- },
- F = function (e) {
- for (var t = "", a = 0; a < e.length; a++) {
- var n = e[a];
- t += (n < 16 ? "0" : "") + n.toString(16);
- }
- return parseInt(t, 16) || 0;
- },
- j = function (e, t, a) {
- var n = t[0];
- if (!(n >= e.length)) {
- var s = e[n],
- r = ("0000000" + s.toString(2)).substr(-8),
- i = /^(0*1)(\d*)$/.exec(r);
- if (i) {
- var o = i[1].length,
- _ = [];
- if (!(n + o > e.length)) {
- for (var l = 0; l < o; l++) _[l] = e[n], n++;
- return a && (_[0] = parseInt(i[2] || "0", 2)), t[0] = n, _;
- }
- }
- }
- },
- X = function (e, t) {
- var a = j(e, t, 1);
- if (a) {
- var n = F(a),
- s = t[0],
- r = [];
- if (n < 2147483647) {
- if (s + n > e.length) return;
- for (var i = 0; i < n; i++) r[i] = e[s], s++;
- }
- return t[0] = s, r;
- }
- },
- Y = N.i18n = {
- lang: "zh-CN",
- alias: {
- "zh-CN": "zh",
- "en-US": "en"
- },
- locales: {},
- data: {},
- put: function (e, t) {
- var a = R + ".i18n.put: ",
- n = e.overwrite;
- n = null == n || n;
- var s = e.lang;
- if (!(s = Y.alias[s] || s)) throw new Error(a + "set.lang?");
- var r = Y.locales[s];
- r || (r = {}, Y.locales[s] = r);
- for (var i, o = /^([\w\-]+):/, _ = 0; _ < t.length; _++) {
- var l = t[_];
- if (i = o.exec(l)) {
- var f = i[1],
- l = l.substr(f.length + 1);
- !n && r[f] || (r[f] = l);
- } else O(a + "'key:'? " + l, 3, e);
- }
- },
- get: function () {
- return Y.v_G.apply(null, arguments);
- },
- v_G: function (n, s, e) {
- s = s || [], e = e || Y.lang, e = Y.alias[e] || e;
- var t = Y.locales[e],
- r = t && t[n] || "";
- return r || "zh" == e ? (Y.lastLang = e, "=Empty" == r ? "" : r.replace(/\{(\d+)(\!?)\}/g, function (e, t, a) {
- return e = s[(t = +t || 0) - 1], (t < 1 || t > s.length) && (e = "{?}", O("i18n[" + n + "] no {" + t + "}: " + r, 3)), a ? "" : e;
- })) : "en" == e ? Y.v_G(n, s, "zh") : Y.v_G(n, s, "en");
- },
- $T: function () {
- return Y.v_T.apply(null, arguments);
- },
- v_T: function () {
- for (var e, t = arguments, a = "", n = [], s = 0, r = R + ".i18n.$T:", i = /^([\w\-]*):/, o = 0; o < t.length; o++) {
- var _ = t[o];
- if (0 == o) {
- if (e = i.exec(_), !(a = e && e[1])) throw new Error(r + "0 'key:'?");
- _ = _.substr(a.length + 1);
- }
- if (-1 === s) n.push(_);else {
- if (s) throw new Error(r + " bad args");
- if (0 === _) s = -1;else if (f(_)) {
- if (_ < 1) throw new Error(r + " bad args");
- s = _;
- } else {
- var l = 1 == o ? "en" : o ? "" : "zh";
- if ((e = i.exec(_)) && (l = e[1] || l, _ = _.substr(e[1].length + 1)), !e || !l) throw new Error(r + o + " 'lang:'?");
- Y.put({
- lang: l,
- overwrite: !1
- }, [a + ":" + _]);
- }
- }
- }
- return a ? 0 < s ? a : Y.v_G(a, n) : "";
- }
- },
- z = Y.$T;
- z.G = Y.get, z("NonBrowser-1::非浏览器环境,不支持{1}", 1), z("IllegalArgs-1::参数错误:{1}", 1), z("NeedImport-2::调用{1}需要先导入{2}", 2), z("NotSupport-1::不支持:{1}", 1), N.TrafficImgUrl = "//ia.51.la/go1?id=20469973&pvFlag=1";
- var u = N.Traffic = function (e) {
- if (w) {
- e = e ? "/" + R + "/Report/" + e : "";
- var t = N.TrafficImgUrl;
- if (t) {
- var a = N.Traffic,
- n = /^(https?:..[^\/#]*\/?)[^#]*/i.exec(location.href) || [],
- s = n[1] || "http://file/",
- r = (n[0] || s) + e;
- if (0 == t.indexOf("//") && (t = /^https:/i.test(r) ? "https:" + t : "http:" + t), e && (t = t + "&cu=" + encodeURIComponent(s + e)), !a[r]) {
- a[r] = 1;
- var i = new Image();
- i.src = t, O("Traffic Analysis Image: " + (e || R + ".TrafficImgUrl=" + N.TrafficImgUrl));
+ t._ht = 1, H("WebM Tracks", a), n();
+ break;
}
}
}
+ var A = t.track0;
+ if (A) {
+ if (16 == A.bitDepth && /FLOAT/i.test(A.codec) && (A.bitDepth = 32, H("WebM 16改32位", 3)), A[N] != t[N] || 32 != A.bitDepth || A.channels < 1 || !/(\b|_)PCM\b/i.test(A.codec)) return t.bytes = [], t.bad || H("WebM Track非预期", 3, t), -(t.bad = 1);
+ for (var B = [], k = 0; s[0] < i.length;) {
+ var c = X(i, s),
+ h = q(i, s);
+ if (!h) break;
+ if (D(c, [163])) {
+ var y = 15 & h[0],
+ m = a[y];
+ if (m) {
+ if (0 === m.idx) {
+ for (var T = new Uint8Array(h.length - 4), S = 4; S < h.length; S++) T[S - 4] = h[S];
+ B.push(T), k += T.length;
+ }
+ } else H("WebM !Track" + y, 1, a);
+ }
+ n();
+ }
+ if (k) {
+ var x = new Uint8Array(i.length - t.pos[0]);
+ x.set(i.subarray(t.pos[0])), t.bytes = x, t.pos[0] = 0;
+ for (var T = new Uint8Array(k), S = 0, E = 0; S < B.length; S++) T.set(B[S], E), E += B[S].length;
+ var R = new Float32Array(T.buffer);
+ if (1 < A.channels) {
+ for (var P = [], S = 0; S < R.length;) P.push(R[S]), S += A.channels;
+ R = new Float32Array(P);
+ }
+ return R;
+ }
+ }
+ },
+ D = function (e, t) {
+ if (!e || e.length != t.length) return !1;
+ if (1 == e.length) return e[0] == t[0];
+ for (var a = 0; a < e.length; a++) if (e[a] != t[a]) return !1;
+ return !0;
+ },
+ Y = function (e) {
+ for (var t = "", a = 0; a < e.length; a++) {
+ var s = e[a];
+ t += (s < 16 ? "0" : "") + s.toString(16);
+ }
+ return parseInt(t, 16) || 0;
+ },
+ X = function (e, t, a) {
+ var s = t[0];
+ if (!(s >= e.length)) {
+ var n = e[s],
+ r = ("0000000" + n.toString(2)).substr(-8),
+ i = /^(0*1)(\d*)$/.exec(r);
+ if (i) {
+ var o = i[1].length,
+ _ = [];
+ if (!(s + o > e.length)) {
+ for (var l = 0; l < o; l++) _[l] = e[s], s++;
+ return a && (_[0] = parseInt(i[2] || "0", 2)), t[0] = s, _;
+ }
+ }
+ }
+ },
+ q = function (e, t) {
+ var a = X(e, t, 1);
+ if (a) {
+ var s = Y(a),
+ n = t[0],
+ r = [];
+ if (s < 2147483647) {
+ if (n + s > e.length) return;
+ for (var i = 0; i < s; i++) r[i] = e[n], n++;
+ }
+ return t[0] = n, r;
+ }
};
- t && (O(z("8HO5::覆盖导入{1}", 0, R), 1), t.Destroy());
- e[R] = N;
- }(a, t), module.exports && (module.exports = a.Recorder);
-}(), function (e) {
- var t = "object" == typeof window && !!window.document,
- a = (t ? window : Object).Recorder,
- n = a.i18n;
- !function (m, e, u, t) {
+ V.TrafficImgUrl = "//ia.51.la/go1?id=20469973&pvFlag=1";
+ var r = V.Traffic = function (e) {
+ e = e ? "/" + T + "/Report/" + e : "";
+ var t = V.TrafficImgUrl;
+ if (t) {
+ var a = V.Traffic,
+ s = /^(https?:..[^\/#]*\/?)[^#]*/i.exec(location.href) || [],
+ n = s[1] || "http://file/",
+ r = (s[0] || n) + e;
+ if (0 == t.indexOf("//") && (t = /^https:/i.test(r) ? "https:" + t : "http:" + t), e && (t = t + "&cu=" + encodeURIComponent(n + e)), !a[r]) {
+ a[r] = 1;
+ var i = new Image();
+ i.src = t, H("Traffic Analysis Image: " + (e || T + ".TrafficImgUrl=" + V.TrafficImgUrl));
+ }
+ }
+ };
+}(window), module.exports && (module.exports = Recorder), function () {
- var o = "48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000",
- _ = "8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256, 320";
- m.prototype.enc_mp3 = {
- stable: !0,
- takeEC: "full",
- getTestMsg: function () {
- return u("Zm7L::采样率范围:{1};比特率范围:{2}(不同比特率支持的采样率范围不同,小于32kbps时采样率需小于32000)", 0, o, _);
- }
- };
- var h,
- v = function (e) {
- var t = e.bitRate,
- a = e.sampleRate,
- n = a;
- if (-1 == (" " + _ + ",").indexOf(" " + t + ",") && m.CLog(u("eGB9::{1}不在mp3支持的取值范围:{2}", 0, "bitRate=" + t, _), 3), -1 == (" " + o + ",").indexOf(" " + a + ",")) {
- for (var s = o.split(", "), r = [], i = 0; i < s.length; i++) r.push({
- v: +s[i],
- s: Math.abs(s[i] - a)
- });
- r.sort(function (e, t) {
- return e.s - t.s;
- }), n = r[0].v, e.sampleRate = n, m.CLog(u("zLTa::sampleRate已更新为{1},因为{2}不在mp3支持的取值范围:{3}", 0, n, a, o), 3);
+ var i;
+ Recorder.prototype.enc_mp3 = {
+ stable: !0,
+ testmsg: "采样率范围48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000"
+ }, Recorder.prototype.mp3 = function (a, s, e) {
+ var n = this.set,
+ r = a.length,
+ t = this.mp3_start(n);
+ if (t) return this.mp3_encode(t, a), void this.mp3_complete(t, s, e, 1);
+ var i = new Recorder.lamejs.Mp3Encoder(1, n.sampleRate, n.bitRate),
+ o = [],
+ _ = 0,
+ l = 0,
+ f = function () {
+ if (_ < r) {
+ 0 < (e = i.encodeBuffer(a.subarray(_, _ + 57600))).length && (l += e.buffer.byteLength, o.push(e.buffer)), _ += 57600, setTimeout(f);
+ } else {
+ var e;
+ 0 < (e = i.flush()).length && (l += e.buffer.byteLength, o.push(e.buffer));
+ var t = c.fn(o, l, r, n.sampleRate);
+ h(t, n), s(new Blob(o, {
+ type: "audio/mp3"
+ }));
}
- },
- n = function () {
- return u.G("NeedImport-2", ["mp3.js", "src/engine/mp3-engine.js"]);
- },
- d = t && "function" == typeof Worker;
- m.prototype.mp3 = function (r, i, o) {
- var e = this,
- _ = e.set,
- l = r.length;
- if (m.lamejs) {
- if (d) {
- var t = e.mp3_start(_);
- if (t) {
- if (t.isW) return e.mp3_encode(t, r), void e.mp3_complete(t, i, o, 1);
- e.mp3_stop(t);
- }
- }
- v(_);
- var f = new m.lamejs.Mp3Encoder(1, _.sampleRate, _.bitRate),
- c = new Int8Array(5e5),
- u = 0,
- h = 0,
- b = 0,
- p = function () {
- try {
- if (h < l) var e = f.encodeBuffer(r.subarray(h, h + 57600));else {
- b = 1;
- var e = f.flush();
- }
- } catch (e) {
- if (console.error(e), !b) try {
- f.flush();
- } catch (e) {
- console.error(e);
- }
- return void o("MP3 Encoder: " + e.message);
- }
- var t = e.length;
- if (0 < t) {
- if (u + t > c.length) {
- var a = new Int8Array(c.length + Math.max(5e5, t));
- a.set(c.subarray(0, u)), c = a;
- }
- c.set(e, u), u += t;
- }
- if (h < l) h += 57600, setTimeout(p);else {
- var n = [c.buffer.slice(0, u)],
- s = g.fn(n, u, l, _.sampleRate);
- w(s, _), i(n[0] || new ArrayBuffer(0), "audio/mp3");
- }
- };
- p();
- } else o(n());
- }, m.BindDestroy("mp3Worker", function () {
- h && (m.CLog("mp3Worker Destroy"), h.terminate(), h = null);
- }), m.prototype.mp3_envCheck = function (e, t) {
- var a = "";
- return t.takeoffEncodeChunk && (p() || (a = u("yhUs::当前浏览器版本太低,无法实时处理"))), a || m.lamejs || (a = n()), a;
- }, m.prototype.mp3_start = function (e) {
- return p(e);
- };
- var b = {
- id: 0
- },
- p = function (t, e) {
- var f,
- a = function (e) {
+ };
+ f();
+ }, Recorder.BindDestroy("mp3Worker", function () {
+ Recorder.CLog("mp3Worker Destroy"), i && i.terminate(), i = null;
+ }), Recorder.prototype.mp3_envCheck = function (e, t) {
+ var a = "";
+ return t.takeoffEncodeChunk && (e.canProcess ? s() || (a = "当前浏览器版本太低,无法实时处理") : a = e.envName + "环境不支持实时处理"), a;
+ }, Recorder.prototype.mp3_start = function (e) {
+ return s(e);
+ };
+ var o = {
+ id: 0
+ },
+ s = function (e) {
+ var t = i;
+ try {
+ if (!t) {
+ var a = ");wk_lame();var wk_ctxs={};self.onmessage=" + function (e) {
var t = e.data,
- a = f.wkScope.wk_ctxs,
- n = f.wkScope.wk_lame,
- s = f.wkScope.wk_mp3TrimFix,
- r = a[t.id];
- if ("init" == t.action) a[t.id] = {
+ a = wk_ctxs[t.id];
+ if ("init" == t.action) wk_ctxs[t.id] = {
sampleRate: t.sampleRate,
bitRate: t.bitRate,
takeoff: t.takeoff,
+ mp3Size: 0,
pcmSize: 0,
- memory: new Int8Array(5e5),
- mOffset: 0,
- encObj: new n.Mp3Encoder(1, t.sampleRate, t.bitRate)
- };else if (!r) return;
- var i = function (e) {
- var t = e.length;
- if (r.mOffset + t > r.memory.length) {
- var a = new Int8Array(r.memory.length + Math.max(5e5, t));
- a.set(r.memory.subarray(0, r.mOffset)), r.memory = a;
- }
- r.memory.set(e, r.mOffset), r.mOffset += t;
- };
+ encArr: [],
+ encObj: new wk_lame.Mp3Encoder(1, t.sampleRate, t.bitRate)
+ };else if (!a) return;
switch (t.action) {
case "stop":
- if (!r.isCp) try {
- r.encObj.flush();
- } catch (e) {
- console.error(e);
- }
- r.encObj = null, delete a[t.id];
+ a.encObj = null, delete wk_ctxs[t.id];
break;
case "encode":
- if (r.isCp) break;
- r.pcmSize += t.pcm.length;
- try {
- var o = r.encObj.encodeBuffer(t.pcm);
- } catch (e) {
- r.err = e, console.error(e);
- }
- o && 0 < o.length && (r.takeoff ? c.onmessage({
+ a.pcmSize += t.pcm.length, 0 < (s = a.encObj.encodeBuffer(t.pcm)).length && (a.takeoff ? self.postMessage({
action: "takeoff",
id: t.id,
- chunk: o
- }) : i(o));
+ chunk: s
+ }) : (a.mp3Size += s.buffer.byteLength, a.encArr.push(s.buffer)));
break;
case "complete":
- r.isCp = 1;
- try {
- var o = r.encObj.flush();
- } catch (e) {
- r.err = e, console.error(e);
- }
- if (o && 0 < o.length && (r.takeoff ? c.onmessage({
+ var s;
+ 0 < (s = a.encObj.flush()).length && (a.takeoff ? self.postMessage({
action: "takeoff",
id: t.id,
- chunk: o
- }) : i(o)), r.err) {
- c.onmessage({
- action: t.action,
- id: t.id,
- err: "MP3 Encoder: " + r.err.message
- });
- break;
- }
- var _ = [r.memory.buffer.slice(0, r.mOffset)],
- l = s.fn(_, r.mOffset, r.pcmSize, r.sampleRate);
- c.onmessage({
+ chunk: s
+ }) : (a.mp3Size += s.buffer.byteLength, a.encArr.push(s.buffer)));
+ var n = wk_mp3TrimFix.fn(a.encArr, a.mp3Size, a.pcmSize, a.sampleRate);
+ self.postMessage({
action: t.action,
id: t.id,
- blob: _[0] || new ArrayBuffer(0),
- meta: l
+ blob: new Blob(a.encArr, {
+ type: "audio/mp3"
+ }),
+ meta: n
});
}
- },
- n = function (n) {
- c.onmessage = function (e) {
- var t = e;
- n && (t = e.data);
- var a = b[t.id];
- a && ("takeoff" == t.action ? a.set.takeoffEncodeChunk(new Uint8Array(t.chunk.buffer)) : (a.call && a.call(t), a.call = null));
- };
- },
- s = function () {
- var e = {
- worker: c,
- set: t
- };
- return t ? (e.id = ++b.id, b[e.id] = e, v(t), c.postMessage({
- action: "init",
- id: e.id,
- sampleRate: t.sampleRate,
- bitRate: t.bitRate,
- takeoff: !!t.takeoffEncodeChunk,
- x: new Int16Array(5)
- })) : c.postMessage({
- x: new Int16Array(5)
- }), e;
- },
- c = h;
- if (e || !d) return m.CLog(u("k9PT::当前环境不支持Web Worker,mp3实时编码器运行在主线程中"), 3), c = {
- postMessage: function (e) {
- a({
- data: e
- });
- }
- }, f = {
- wkScope: {
- wk_ctxs: {},
- wk_lame: m.lamejs,
- wk_mp3TrimFix: g
- }
- }, n(), s();
- try {
- if (!c) {
- var r = (a + "").replace(/[\w\$]+\.onmessage/g, "self.postMessage"),
- i = ");wk_lame();self.onmessage=" + (r = r.replace(/[\w\$]+\.wkScope/g, "wkScope"));
- i += ";var wkScope={ wk_ctxs:{},wk_lame:wk_lame", i += ",wk_mp3TrimFix:{rm:" + g.rm + ",fn:" + g.fn + "} }";
- var o = m.lamejs.toString(),
- _ = (window.URL || webkitURL).createObjectURL(new Blob(["var wk_lame=(", o, i], {
- type: "text/javascript"
- }));
- c = new Worker(_), setTimeout(function () {
- (window.URL || webkitURL).revokeObjectURL(_);
- }, 1e4), n(1);
- }
- var l = s();
- return l.isW = 1, h = c, l;
- } catch (e) {
- return c && c.terminate(), console.error(e), p(t, 1);
- }
- };
- m.prototype.mp3_stop = function (e) {
- if (e && e.worker) {
- e.worker.postMessage({
- action: "stop",
- id: e.id
- }), e.worker = null, delete b[e.id];
- var t = -1;
- for (var a in b) t++;
- t && m.CLog(u("fT6M::mp3 worker剩{1}个未stop", 0, t), 3);
- }
- }, m.prototype.mp3_encode = function (e, t) {
- e && e.worker && e.worker.postMessage({
- action: "encode",
- id: e.id,
- pcm: t
- });
- }, m.prototype.mp3_complete = function (t, a, n, s) {
- var r = this;
- t && t.worker ? (t.call = function (e) {
- s && r.mp3_stop(t), e.err ? n(e.err) : (w(e.meta, t.set), a(e.blob, "audio/mp3"));
- }, t.worker.postMessage({
- action: "complete",
- id: t.id
- })) : n(u("mPxH::mp3编码器未start"));
- }, m.mp3ReadMeta = function (e, t) {
- var a = "undefined" != typeof window && window.parseInt || "undefined" != typeof self && self.parseInt || parseInt,
- n = new Uint8Array(e[0] || []);
- if (n.length < 4) return null;
- var s = function (e, t) {
- return ("0000000" + ((t || n)[e] || 0).toString(2)).substr(-8);
- },
- r = s(0) + s(1),
- i = s(2) + s(3);
- if (!/^1{11}/.test(r)) return null;
- var o = {
- "00": 2.5,
- 10: 2,
- 11: 1
- }[r.substr(11, 2)],
- _ = {
- "01": 3
- }[r.substr(13, 2)],
- l = {
- 1: [44100, 48e3, 32e3],
- 2: [22050, 24e3, 16e3],
- 2.5: [11025, 12e3, 8e3]
- }[o];
- l && (l = l[a(i.substr(4, 2), 2)]);
- var f = [[0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160], [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320]][1 == o ? 1 : 0][a(i.substr(0, 4), 2)];
- if (!(o && _ && f && l)) return null;
- for (var c = Math.round(8 * t / f), u = 1 == _ ? 384 : 2 == _ ? 1152 : 1 == o ? 1152 : 576, h = u / l * 1e3, b = Math.floor(u * f / 8 / l * 1e3), p = 0, m = 0, v = 0; v < e.length; v++) {
- var d = e[v];
- if (m += d.byteLength, b + 3 <= m) {
- var g = new Uint8Array(d),
- w = d.byteLength - (m - (b + 3) + 1),
- S = s(w, g);
- p = "1" == S.charAt(6);
- break;
- }
- }
- return p && b++, {
- version: o,
- layer: _,
- sampleRate: l,
- bitRate: f,
- duration: c,
- size: t,
- hasPadding: p,
- frameSize: b,
- frameDurationFloat: h
- };
- };
- var g = {
- rm: m.mp3ReadMeta,
- fn: function (e, t, a, n) {
- var s = this.rm(e, t);
- if (!s) return {
- err: "mp3 unknown format"
};
- var r = Math.round(a / n * 1e3),
- i = Math.floor((s.duration - r) / s.frameDurationFloat);
- if (0 < i) {
- var o = i * s.frameSize - (s.hasPadding ? 1 : 0);
- t -= o;
- for (var _ = 0, l = [], f = 0; f < e.length; f++) {
- var c = e[f];
- if (o <= 0) break;
- o >= c.byteLength ? (o -= c.byteLength, l.push(c), e.splice(f, 1), f--) : (e[f] = c.slice(o), _ = c, o = 0);
- }
- var u = this.rm(e, t);
- if (!u) {
- _ && (e[0] = _);
- for (var f = 0; f < l.length; f++) e.splice(f, 0, l[f]);
- s.err = "mp3 fix error: 已还原,错误原因不明";
- }
- var h = s.trimFix = {};
- h.remove = i, h.removeDuration = Math.round(i * s.frameDurationFloat), h.duration = Math.round(8 * t / s.bitRate);
- }
- return s;
+ a += ";var wk_mp3TrimFix={rm:" + c.rm + ",fn:" + c.fn + "}";
+ var s = Recorder.lamejs.toString(),
+ n = (window.URL || webkitURL).createObjectURL(new Blob(["var wk_lame=(", s, a], {
+ type: "text/javascript"
+ }));
+ t = new Worker(n), setTimeout(function () {
+ (window.URL || webkitURL).revokeObjectURL(n);
+ }, 1e4), t.onmessage = function (e) {
+ var t = e.data,
+ a = o[t.id];
+ a && ("takeoff" == t.action ? a.set.takeoffEncodeChunk(new Uint8Array(t.chunk.buffer)) : (a.call && a.call(t), a.call = null));
+ };
}
+ var r = {
+ worker: t,
+ set: e,
+ takeoffQueue: []
+ };
+ return e ? (r.id = ++o.id, o[r.id] = r, t.postMessage({
+ action: "init",
+ id: r.id,
+ sampleRate: e.sampleRate,
+ bitRate: e.bitRate,
+ takeoff: !!e.takeoffEncodeChunk,
+ x: new Int16Array(5)
+ })) : t.postMessage({
+ x: new Int16Array(5)
+ }), i = t, r;
+ } catch (e) {
+ return t && t.terminate(), console.error(e), null;
+ }
+ };
+ Recorder.prototype.mp3_stop = function (e) {
+ if (e && e.worker) {
+ e.worker.postMessage({
+ action: "stop",
+ id: e.id
+ }), e.worker = null, delete o[e.id];
+ var t = -1;
+ for (var a in o) t++;
+ t && Recorder.CLog("mp3 worker剩" + t + "个在串行等待", 3);
+ }
+ }, Recorder.prototype.mp3_encode = function (e, t) {
+ e && e.worker && e.worker.postMessage({
+ action: "encode",
+ id: e.id,
+ pcm: t
+ });
+ }, Recorder.prototype.mp3_complete = function (t, a, e, s) {
+ var n = this;
+ t && t.worker ? (t.call = function (e) {
+ h(e.meta, t.set), a(e.blob), s && n.mp3_stop(t);
+ }, t.worker.postMessage({
+ action: "complete",
+ id: t.id
+ })) : e("mp3编码器未打开");
+ }, Recorder.mp3ReadMeta = function (e, t) {
+ var a = "object" == typeof window ? window.parseInt : self.parseInt,
+ s = new Uint8Array(e[0] || []);
+ if (s.length < 4) return null;
+ var n = function (e, t) {
+ return ("0000000" + ((t || s)[e] || 0).toString(2)).substr(-8);
},
- w = function (e, t) {
- var a = "MP3 Info: ";
- (e.sampleRate && e.sampleRate != t.sampleRate || e.bitRate && e.bitRate != t.bitRate) && (m.CLog(a + u("uY9i::和设置的不匹配{1},已更新成{2}", 0, "set:" + t.bitRate + "kbps " + t.sampleRate + "hz", "set:" + e.bitRate + "kbps " + e.sampleRate + "hz"), 3, t), t.sampleRate = e.sampleRate, t.bitRate = e.bitRate);
- var n = e.trimFix;
- n ? (a += u("iMSm::Fix移除{1}帧", 0, n.remove) + " " + n.removeDuration + "ms -> " + n.duration + "ms", 2 < n.remove && (e.err = (e.err ? e.err + ", " : "") + u("b9zm::移除帧数过多"))) : a += (e.duration || "-") + "ms", e.err ? m.CLog(a, 1, e.err, e) : m.CLog(a, e);
- };
- }(a, 0, n.$T, t);
-}(), function (e) {
+ r = n(0) + n(1),
+ i = n(2) + n(3);
+ if (!/^1{11}/.test(r)) return null;
+ var o = {
+ "00": 2.5,
+ 10: 2,
+ 11: 1
+ }[r.substr(11, 2)],
+ _ = {
+ "01": 3
+ }[r.substr(13, 2)],
+ l = {
+ 1: [44100, 48e3, 32e3],
+ 2: [22050, 24e3, 16e3],
+ 2.5: [11025, 12e3, 8e3]
+ }[o];
+ l && (l = l[a(i.substr(4, 2), 2)]);
+ var f = [[0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160], [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320]][1 == o ? 1 : 0][a(i.substr(0, 4), 2)];
+ if (!(o && _ && f && l)) return null;
+ for (var c = Math.round(8 * t / f), h = 1 == _ ? 384 : 2 == _ ? 1152 : 1 == o ? 1152 : 576, u = h / l * 1e3, m = Math.floor(h * f / 8 / l * 1e3), p = 0, b = 0, v = 0; v < e.length; v++) {
+ var d = e[v];
+ if (m + 3 <= (b += d.byteLength)) {
+ var g = new Uint8Array(d);
+ p = "1" == n(d.byteLength - (b - (m + 3) + 1), g).charAt(6);
+ break;
+ }
+ }
+ return p && m++, {
+ version: o,
+ layer: _,
+ sampleRate: l,
+ bitRate: f,
+ duration: c,
+ size: t,
+ hasPadding: p,
+ frameSize: m,
+ frameDurationFloat: u
+ };
+ };
+ var c = {
+ rm: Recorder.mp3ReadMeta,
+ fn: function (e, t, a, s) {
+ var n = this.rm(e, t);
+ if (!n) return {
+ err: "mp3非预定格式"
+ };
+ var r = Math.round(a / s * 1e3),
+ i = Math.floor((n.duration - r) / n.frameDurationFloat);
+ if (0 < i) {
+ var o = i * n.frameSize - (n.hasPadding ? 1 : 0);
+ t -= o;
+ for (var _ = 0, l = [], f = 0; f < e.length; f++) {
+ var c = e[f];
+ if (o <= 0) break;
+ o >= c.byteLength ? (o -= c.byteLength, l.push(c), e.splice(f, 1), f--) : (e[f] = c.slice(o), _ = c, o = 0);
+ }
+ if (!this.rm(e, t)) {
+ _ && (e[0] = _);
+ for (f = 0; f < l.length; f++) e.splice(f, 0, l[f]);
+ n.err = "fix后数据错误,已还原,错误原因不明";
+ }
+ var h = n.trimFix = {};
+ h.remove = i, h.removeDuration = Math.round(i * n.frameDurationFloat), h.duration = Math.round(8 * t / n.bitRate);
+ }
+ return n;
+ }
+ },
+ h = function (e, t) {
+ var a = "MP3信息 ";
+ (e.sampleRate && e.sampleRate != t.sampleRate || e.bitRate && e.bitRate != t.bitRate) && (Recorder.CLog(a + "和设置的不匹配set:" + t.bitRate + "kbps " + t.sampleRate + "hz,已更新set:" + e.bitRate + "kbps " + e.sampleRate + "hz", 3, t), t.sampleRate = e.sampleRate, t.bitRate = e.bitRate);
+ var s = e.trimFix;
+ s ? (a += "Fix移除" + s.remove + "帧" + s.removeDuration + "ms -> " + s.duration + "ms", 2 < s.remove && (e.err = (e.err ? e.err + ", " : "") + "移除帧数过多")) : a += (e.duration || "-") + "ms", e.err ? Recorder.CLog(a, 1, e.err, e) : Recorder.CLog(a, e);
+ };
+}(), function () {
function t() {
- var d = function (e) {
- return Math.log(e) / Math.log(10);
- },
- me = function (e) {
- throw new Error("abort(" + e + ")");
- };
- function S(e) {
+ var B = function (e) {
+ return Math.log(e) / Math.log(10);
+ };
+ function A(e) {
return new Int8Array(e);
}
- function s(e) {
+ function n(e) {
return new Int16Array(e);
}
- function ve(e) {
+ function Ae(e) {
return new Int32Array(e);
}
- function de(e) {
+ function Be(e) {
return new Float32Array(e);
}
- function n(e) {
+ function s(e) {
return new Float64Array(e);
}
- function ge(e) {
- if (1 == e.length) return de(e[0]);
+ function ke(e) {
+ if (1 == e.length) return Be(e[0]);
var t = e[0];
e = e.slice(1);
- for (var a = [], n = 0; n < t; n++) a.push(ge(e));
+ for (var a = [], s = 0; s < t; s++) a.push(ke(e));
return a;
}
- function w(e) {
- if (1 == e.length) return ve(e[0]);
+ function Y(e) {
+ if (1 == e.length) return Ae(e[0]);
var t = e[0];
e = e.slice(1);
- for (var a = [], n = 0; n < t; n++) a.push(w(e));
+ for (var a = [], s = 0; s < t; s++) a.push(Y(e));
return a;
}
- function M(e) {
- if (1 == e.length) return s(e[0]);
+ function p(e) {
+ if (1 == e.length) return n(e[0]);
var t = e[0];
e = e.slice(1);
- for (var a = [], n = 0; n < t; n++) a.push(M(e));
+ for (var a = [], s = 0; s < t; s++) a.push(p(e));
return a;
}
- function E(e) {
+ function O(e) {
if (1 == e.length) return new Array(e[0]);
var t = e[0];
e = e.slice(1);
- for (var a = [], n = 0; n < t; n++) a.push(E(e));
+ for (var a = [], s = 0; s < t; s++) a.push(O(e));
return a;
}
- var we = {
- fill: function (e, t, a, n) {
- if (2 == arguments.length) for (var s = 0; s < e.length; s++) e[s] = t;else for (var s = t; s < a; s++) e[s] = n;
+ var ye = {
+ fill: function (e, t, a, s) {
+ if (2 == arguments.length) for (var n = 0; n < e.length; n++) e[n] = t;else for (n = t; n < a; n++) e[n] = s;
}
},
- I = {
- arraycopy: function (e, t, a, n, s) {
- for (var r = t + s; t < r;) a[n++] = e[t++];
+ $ = {
+ arraycopy: function (e, t, a, s, n) {
+ for (var r = t + n; t < r;) a[s++] = e[t++];
}
},
- V = {};
- function Se(e) {
+ ee = {};
+ function Te(e) {
this.ordinal = e;
}
- V.SQRT2 = 1.4142135623730951, V.FAST_LOG10 = function (e) {
- return d(e);
- }, V.FAST_LOG10_X = function (e, t) {
- return d(e) * t;
- }, Se.short_block_allowed = new Se(0), Se.short_block_coupled = new Se(1), Se.short_block_dispensed = new Se(2), Se.short_block_forced = new Se(3);
- var D = {};
- function Me(e) {
+ ee.SQRT2 = 1.4142135623730951, ee.FAST_LOG10 = function (e) {
+ return B(e);
+ }, ee.FAST_LOG10_X = function (e, t) {
+ return B(e) * t;
+ }, Te.short_block_allowed = new Te(0), Te.short_block_coupled = new Te(1), Te.short_block_dispensed = new Te(2), Te.short_block_forced = new Te(3);
+ var K = {};
+ function xe(e) {
this.ordinal = e;
}
- function ye(e) {
+ K.MAX_VALUE = 3.4028235e38, xe.vbr_off = new xe(0), xe.vbr_mt = new xe(1), xe.vbr_rh = new xe(2), xe.vbr_abr = new xe(3), xe.vbr_mtrh = new xe(4), xe.vbr_default = xe.vbr_mtrh;
+ function Ee(e) {
var t = e;
this.ordinal = function () {
return t;
};
}
- function A() {
- var S = null;
+ function k() {
+ var M = null;
function v(e) {
this.bits = 0 | e;
}
this.qupvt = null, this.setModules = function (e) {
- this.qupvt = e, S = e;
+ this.qupvt = e, M = e;
};
- var s = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 1], [1, 1], [1, 1], [1, 2], [2, 2], [2, 3], [2, 3], [3, 4], [3, 4], [3, 4], [4, 5], [4, 5], [4, 6], [5, 6], [5, 6], [5, 7], [6, 7], [6, 7]];
- function M(e, t, a, n, s, r) {
+ var n = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 1], [1, 1], [1, 1], [1, 2], [2, 2], [2, 3], [2, 3], [3, 4], [3, 4], [3, 4], [4, 5], [4, 5], [4, 6], [5, 6], [5, 6], [5, 7], [6, 7], [6, 7]];
+ function w(e, t, a, s, n, r) {
var i = .5946 / t;
- for (e >>= 1; 0 != e--;) s[r++] = i > a[n++] ? 0 : 1, s[r++] = i > a[n++] ? 0 : 1;
+ for (e >>= 1; 0 != e--;) n[r++] = i > a[s++] ? 0 : 1, n[r++] = i > a[s++] ? 0 : 1;
}
- function y(e, t, a, n, s, r) {
+ function R(e, t, a, s, n, r) {
var i = (e >>= 1) % 2;
for (e >>= 1; 0 != e--;) {
- var o, _, l, f, c, u, h, b;
- o = a[n++] * t, _ = a[n++] * t, c = 0 | o, l = a[n++] * t, u = 0 | _, f = a[n++] * t, h = 0 | l, o += S.adj43[c], b = 0 | f, _ += S.adj43[u], s[r++] = 0 | o, l += S.adj43[h], s[r++] = 0 | _, f += S.adj43[b], s[r++] = 0 | l, s[r++] = 0 | f;
+ var o, _, l, f, c, h, u, m;
+ o = a[s++] * t, _ = a[s++] * t, c = 0 | o, l = a[s++] * t, h = 0 | _, f = a[s++] * t, u = 0 | l, o += M.adj43[c], m = 0 | f, _ += M.adj43[h], n[r++] = 0 | o, l += M.adj43[u], n[r++] = 0 | _, f += M.adj43[m], n[r++] = 0 | l, n[r++] = 0 | f;
}
- 0 != i && (o = a[n++] * t, _ = a[n++] * t, c = 0 | o, u = 0 | _, o += S.adj43[c], _ += S.adj43[u], s[r++] = 0 | o, s[r++] = 0 | _);
+ 0 != i && (c = 0 | (o = a[s++] * t), h = 0 | (_ = a[s++] * t), o += M.adj43[c], _ += M.adj43[h], n[r++] = 0 | o, n[r++] = 0 | _);
}
var o = [1, 2, 5, 7, 7, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13];
- function d(e, t, a, n) {
- var s = function (e, t, a) {
- var n = 0,
- s = 0;
+ function d(e, t, a, s) {
+ var n = function (e, t, a) {
+ var s = 0,
+ n = 0;
do {
var r = e[t++],
i = e[t++];
- n < r && (n = r), s < i && (s = i);
+ s < r && (s = r), n < i && (n = i);
} while (t < a);
- return n < s && (n = s), n;
+ return s < n && (s = n), s;
}(e, t, a);
- switch (s) {
+ switch (n) {
case 0:
- return s;
+ return n;
case 1:
- return function (e, t, a, n) {
- var s = 0,
- r = k.ht[1].hlen;
+ return function (e, t, a, s) {
+ var n = 0,
+ r = F.ht[1].hlen;
do {
var i = 2 * e[t + 0] + e[t + 1];
- t += 2, s += r[i];
+ t += 2, n += r[i];
} while (t < a);
- return n.bits += s, 1;
- }(e, t, a, n);
+ return s.bits += n, 1;
+ }(e, t, a, s);
case 2:
case 3:
- return function (e, t, a, n, s) {
+ return function (e, t, a, s, n) {
var r,
i,
o = 0,
- _ = k.ht[n].xlen;
- i = 2 == n ? k.table23 : k.table56;
+ _ = F.ht[s].xlen;
+ i = 2 == s ? F.table23 : F.table56;
do {
var l = e[t + 0] * _ + e[t + 1];
t += 2, o += i[l];
} while (t < a);
- return (r = 65535 & o) < (o >>= 16) && (o = r, n++), s.bits += o, n;
- }(e, t, a, o[s - 1], n);
+ return (r = 65535 & o) < (o >>= 16) && (o = r, s++), n.bits += o, s;
+ }(e, t, a, o[n - 1], s);
case 4:
case 5:
case 6:
@@ -13467,84 +13109,86 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
case 13:
case 14:
case 15:
- return function (e, t, a, n, s) {
+ return function (e, t, a, s, n) {
var r = 0,
i = 0,
o = 0,
- _ = k.ht[n].xlen,
- l = k.ht[n].hlen,
- f = k.ht[n + 1].hlen,
- c = k.ht[n + 2].hlen;
+ _ = F.ht[s].xlen,
+ l = F.ht[s].hlen,
+ f = F.ht[s + 1].hlen,
+ c = F.ht[s + 2].hlen;
do {
- var u = e[t + 0] * _ + e[t + 1];
- t += 2, r += l[u], i += f[u], o += c[u];
+ var h = e[t + 0] * _ + e[t + 1];
+ t += 2, r += l[h], i += f[h], o += c[h];
} while (t < a);
- var h = n;
- return i < r && (r = i, h++), o < r && (r = o, h = n + 2), s.bits += r, h;
- }(e, t, a, o[s - 1], n);
+ var u = s;
+ return i < r && (r = i, u++), o < r && (r = o, u = s + 2), n.bits += r, u;
+ }(e, t, a, o[n - 1], s);
default:
+ if (x.IXMAX_VAL < n) return s.bits = x.LARGE_BITS, -1;
var r, i;
- for (T.IXMAX_VAL < s && me(), s -= 15, r = 24; r < 32 && !(k.ht[r].linmax >= s); r++);
- for (i = r - 8; i < 24 && !(k.ht[i].linmax >= s); i++);
- return function (e, t, a, n, s, r) {
+ for (n -= 15, r = 24; r < 32 && !(F.ht[r].linmax >= n); r++);
+ for (i = r - 8; i < 24 && !(F.ht[i].linmax >= n); i++);
+ return function (e, t, a, s, n, r) {
var i,
- o = 65536 * k.ht[n].xlen + k.ht[s].xlen,
+ o = 65536 * F.ht[s].xlen + F.ht[n].xlen,
_ = 0;
do {
var l = e[t++],
f = e[t++];
- 0 != l && (14 < l && (l = 15, _ += o), l *= 16), 0 != f && (14 < f && (f = 15, _ += o), l += f), _ += k.largetbl[l];
+ 0 != l && (14 < l && (l = 15, _ += o), l *= 16), 0 != f && (14 < f && (f = 15, _ += o), l += f), _ += F.largetbl[l];
} while (t < a);
- return (i = 65535 & _) < (_ >>= 16) && (_ = i, n = s), r.bits += _, n;
- }(e, t, a, i, r, n);
+ return (i = 65535 & _) < (_ >>= 16) && (_ = i, s = n), r.bits += _, s;
+ }(e, t, a, i, r, s);
}
}
- function h(e, t, a, n, s, r, i, o) {
- for (var _ = t.big_values, l = 2; l < Ae.SBMAX_l + 1; l++) {
+ function u(e, t, a, s, n, r, i, o) {
+ for (var _ = t.big_values, l = 2; l < Pe.SBMAX_l + 1; l++) {
var f = e.scalefac_band.l[l];
if (_ <= f) break;
- var c = s[l - 2] + t.count1bits;
+ var c = n[l - 2] + t.count1bits;
if (a.part2_3_length <= c) break;
- var u = new v(c),
- h = d(n, f, _, u);
- c = u.bits, a.part2_3_length <= c || (a.assign(t), a.part2_3_length = c, a.region0_count = r[l - 2], a.region1_count = l - 2 - r[l - 2], a.table_select[0] = i[l - 2], a.table_select[1] = o[l - 2], a.table_select[2] = h);
+ var h = new v(c),
+ u = d(s, f, _, h);
+ c = h.bits, a.part2_3_length <= c || (a.assign(t), a.part2_3_length = c, a.region0_count = r[l - 2], a.region1_count = l - 2 - r[l - 2], a.table_select[0] = i[l - 2], a.table_select[1] = o[l - 2], a.table_select[2] = u);
}
}
this.noquant_count_bits = function (e, t, a) {
- var n = t.l3_enc,
- s = Math.min(576, t.max_nonzero_coeff + 2 >> 1 << 1);
- for (null != a && (a.sfb_count1 = 0); 1 < s && 0 == (n[s - 1] | n[s - 2]); s -= 2);
- t.count1 = s;
- for (var r = 0, i = 0; 3 < s; s -= 4) {
+ var s = t.l3_enc,
+ n = Math.min(576, t.max_nonzero_coeff + 2 >> 1 << 1);
+ for (null != a && (a.sfb_count1 = 0); 1 < n && 0 == (s[n - 1] | s[n - 2]); n -= 2);
+ t.count1 = n;
+ for (var r = 0, i = 0; 3 < n; n -= 4) {
var o;
- if (1 < (2147483647 & (n[s - 1] | n[s - 2] | n[s - 3] | n[s - 4]))) break;
- o = 2 * (2 * (2 * n[s - 4] + n[s - 3]) + n[s - 2]) + n[s - 1], r += k.t32l[o], i += k.t33l[o];
+ if (1 < (2147483647 & (s[n - 1] | s[n - 2] | s[n - 3] | s[n - 4]))) break;
+ o = 2 * (2 * (2 * s[n - 4] + s[n - 3]) + s[n - 2]) + s[n - 1], r += F.t32l[o], i += F.t33l[o];
}
var _ = r;
- if (t.count1table_select = 0, i < r && (_ = i, t.count1table_select = 1), t.count1bits = _, 0 == (t.big_values = s)) return _;
- if (t.block_type == Ae.SHORT_TYPE) (r = 3 * e.scalefac_band.s[3]) > t.big_values && (r = t.big_values), i = t.big_values;else if (t.block_type == Ae.NORM_TYPE) {
- if (r = t.region0_count = e.bv_scf[s - 2], i = t.region1_count = e.bv_scf[s - 1], i = e.scalefac_band.l[r + i + 2], r = e.scalefac_band.l[r + 1], i < s) {
+ if (t.count1table_select = 0, i < r && (_ = i, t.count1table_select = 1), t.count1bits = _, 0 == (t.big_values = n)) return _;
+ if (t.block_type == Pe.SHORT_TYPE) (r = 3 * e.scalefac_band.s[3]) > t.big_values && (r = t.big_values), i = t.big_values;else if (t.block_type == Pe.NORM_TYPE) {
+ if (r = t.region0_count = e.bv_scf[n - 2], i = t.region1_count = e.bv_scf[n - 1], i = e.scalefac_band.l[r + i + 2], r = e.scalefac_band.l[r + 1], i < n) {
var l = new v(_);
- t.table_select[2] = d(n, i, s, l), _ = l.bits;
+ t.table_select[2] = d(s, i, n, l), _ = l.bits;
}
- } else t.region0_count = 7, t.region1_count = Ae.SBMAX_l - 1 - 7 - 1, r = e.scalefac_band.l[8], (i = s) < r && (r = i);
- if (r = Math.min(r, s), i = Math.min(i, s), 0 < r) {
- var l = new v(_);
- t.table_select[0] = d(n, 0, r, l), _ = l.bits;
+ } else t.region0_count = 7, t.region1_count = Pe.SBMAX_l - 1 - 7 - 1, (i = n) < (r = e.scalefac_band.l[8]) && (r = i);
+ if (r = Math.min(r, n), i = Math.min(i, n), 0 < r) {
+ l = new v(_);
+ t.table_select[0] = d(s, 0, r, l), _ = l.bits;
}
if (r < i) {
- var l = new v(_);
- t.table_select[1] = d(n, r, i, l), _ = l.bits;
+ l = new v(_);
+ t.table_select[1] = d(s, r, i, l), _ = l.bits;
}
- if (2 == e.use_best_huffman && me(), null != a && t.block_type == Ae.NORM_TYPE) {
+ if (2 == e.use_best_huffman && (t.part2_3_length = _, best_huffman_divide(e, t), _ = t.part2_3_length), null != a && t.block_type == Pe.NORM_TYPE) {
for (var f = 0; e.scalefac_band.l[f] < t.big_values;) f++;
a.sfb_count1 = f;
}
return _;
- }, this.count_bits = function (e, t, a, n) {
- var s = a.l3_enc,
- r = T.IXMAX_VAL / S.IPOW20(a.global_gain);
- return a.xrpow_max > r ? T.LARGE_BITS : (function (e, t, a, n, s) {
+ }, this.count_bits = function (e, t, a, s) {
+ var n = a.l3_enc,
+ r = x.IXMAX_VAL / M.IPOW20(a.global_gain);
+ if (a.xrpow_max > r) return x.LARGE_BITS;
+ if (function (e, t, a, s, n) {
var r,
i,
o,
@@ -13552,123 +13196,127 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
l = 0,
f = 0,
c = 0,
- u = t,
- h = 0,
- b = u,
+ h = t,
+ u = 0,
+ m = h,
p = 0,
- m = e,
+ b = e,
v = 0;
- for (o = null != s && n.global_gain == s.global_gain, i = n.block_type == Ae.SHORT_TYPE ? 38 : 21, r = 0; r <= i; r++) {
+ for (o = null != n && s.global_gain == n.global_gain, i = s.block_type == Pe.SHORT_TYPE ? 38 : 21, r = 0; r <= i; r++) {
var d = -1;
- if ((o || n.block_type == Ae.NORM_TYPE) && (d = n.global_gain - (n.scalefac[r] + (0 != n.preflag ? S.pretab[r] : 0) << n.scalefac_scale + 1) - 8 * n.subblock_gain[n.window[r]]), o && s.step[r] == d) 0 != l && (y(l, a, m, v, b, p), l = 0), 0 != f && me();else {
+ if ((o || s.block_type == Pe.NORM_TYPE) && (d = s.global_gain - (s.scalefac[r] + (0 != s.preflag ? M.pretab[r] : 0) << s.scalefac_scale + 1) - 8 * s.subblock_gain[s.window[r]]), o && n.step[r] == d) 0 != l && (R(l, a, b, v, m, p), l = 0), 0 != f && (w(f, a, b, v, m, p), f = 0);else {
var g,
- w = n.width[r];
- if (_ + n.width[r] > n.max_nonzero_coeff && (g = n.max_nonzero_coeff - _ + 1, we.fill(t, n.max_nonzero_coeff, 576, 0), (w = g) < 0 && (w = 0), r = i + 1), 0 == l && 0 == f && (b = u, p = h, m = e, v = c), null != s && 0 < s.sfb_count1 && r >= s.sfb_count1 && 0 < s.step[r] && d >= s.step[r] ? (0 != l && (y(l, a, m, v, b, p), l = 0, b = u, p = h, m = e, v = c), f += w) : (0 != f && (M(f, a, m, v, b, p), f = 0, b = u, p = h, m = e, v = c), l += w), w <= 0) {
- 0 != f && me(), 0 != l && me();
+ S = s.width[r];
+ if (_ + s.width[r] > s.max_nonzero_coeff && (g = s.max_nonzero_coeff - _ + 1, ye.fill(t, s.max_nonzero_coeff, 576, 0), (S = g) < 0 && (S = 0), r = i + 1), 0 == l && 0 == f && (m = h, p = u, b = e, v = c), null != n && 0 < n.sfb_count1 && r >= n.sfb_count1 && 0 < n.step[r] && d >= n.step[r] ? (0 != l && (R(l, a, b, v, m, p), l = 0, m = h, p = u, b = e, v = c), f += S) : (0 != f && (w(f, a, b, v, m, p), f = 0, m = h, p = u, b = e, v = c), l += S), S <= 0) {
+ 0 != f && (w(f, a, b, v, m, p), f = 0), 0 != l && (R(l, a, b, v, m, p), l = 0);
break;
}
}
- r <= i && (h += n.width[r], c += n.width[r], _ += n.width[r]);
+ r <= i && (u += s.width[r], c += s.width[r], _ += s.width[r]);
}
- 0 != l && (y(l, a, m, v, b, p), l = 0), 0 != f && me();
- }(t, s, S.IPOW20(a.global_gain), a, n), 0 != (2 & e.substep_shaping) && me(), this.noquant_count_bits(e, a, n));
+ 0 != l && (R(l, a, b, v, m, p), l = 0), 0 != f && (w(f, a, b, v, m, p), f = 0);
+ }(t, n, M.IPOW20(a.global_gain), a, s), 0 != (2 & e.substep_shaping)) for (var i = 0, o = a.global_gain + a.scalefac_scale, _ = .634521682242439 / M.IPOW20(o), l = 0; l < a.sfbmax; l++) {
+ var f,
+ c = a.width[l];
+ if (0 == e.pseudohalf[l]) i += c;else for (f = i, i += c; f < i; ++f) n[f] = t[f] >= _ ? n[f] : 0;
+ }
+ return this.noquant_count_bits(e, a, s);
}, this.best_huffman_divide = function (e, t) {
- var a = new B(),
- n = t.l3_enc,
- s = ve(23),
- r = ve(23),
- i = ve(23),
- o = ve(23);
- if (t.block_type != Ae.SHORT_TYPE || 1 != e.mode_gr) {
- a.assign(t), t.block_type == Ae.NORM_TYPE && (function (e, t, a, n, s, r, i) {
- for (var o = t.big_values, _ = 0; _ <= 22; _++) n[_] = T.LARGE_BITS;
- for (var _ = 0; _ < 16; _++) {
+ var a = new T(),
+ s = t.l3_enc,
+ n = Ae(23),
+ r = Ae(23),
+ i = Ae(23),
+ o = Ae(23);
+ if (t.block_type != Pe.SHORT_TYPE || 1 != e.mode_gr) {
+ a.assign(t), t.block_type == Pe.NORM_TYPE && (!function (e, t, a, s, n, r, i) {
+ for (var o = t.big_values, _ = 0; _ <= 22; _++) s[_] = x.LARGE_BITS;
+ for (_ = 0; _ < 16; _++) {
var l = e.scalefac_band.l[_ + 1];
if (o <= l) break;
var f = 0,
c = new v(f),
- u = d(a, 0, l, c);
+ h = d(a, 0, l, c);
f = c.bits;
- for (var h = 0; h < 8; h++) {
- var b = e.scalefac_band.l[_ + h + 2];
- if (o <= b) break;
- var p = f;
- c = new v(p);
- var m = d(a, l, b, c);
- p = c.bits, n[_ + h] > p && (n[_ + h] = p, s[_ + h] = _, r[_ + h] = u, i[_ + h] = m);
+ for (var u = 0; u < 8; u++) {
+ var m = e.scalefac_band.l[_ + u + 2];
+ if (o <= m) break;
+ var p = f,
+ b = d(a, l, m, c = new v(p));
+ p = c.bits, s[_ + u] > p && (s[_ + u] = p, r[(n[_ + u] = _) + u] = h, i[_ + u] = b);
}
}
- }(e, t, n, s, r, i, o), h(e, a, t, n, s, r, i, o));
+ }(e, t, s, n, r, i, o), u(e, a, t, s, n, r, i, o));
var _ = a.big_values;
- if (!(0 == _ || 1 < (n[_ - 2] | n[_ - 1]) || 576 < (_ = t.count1 + 2))) {
+ if (!(0 == _ || 1 < (s[_ - 2] | s[_ - 1]) || 576 < (_ = t.count1 + 2))) {
a.assign(t), a.count1 = _;
for (var l = 0, f = 0; _ > a.big_values; _ -= 4) {
- var c = 2 * (2 * (2 * n[_ - 4] + n[_ - 3]) + n[_ - 2]) + n[_ - 1];
- l += k.t32l[c], f += k.t33l[c];
+ var c = 2 * (2 * (2 * s[_ - 4] + s[_ - 3]) + s[_ - 2]) + s[_ - 1];
+ l += F.t32l[c], f += F.t33l[c];
}
- if (a.big_values = _, a.count1table_select = 0, f < l && (l = f, a.count1table_select = 1), a.count1bits = l, a.block_type == Ae.NORM_TYPE) h(e, a, t, n, s, r, i, o);else {
- if (a.part2_3_length = l, l = e.scalefac_band.l[8], _ < l && (l = _), 0 < l) {
- var u = new v(a.part2_3_length);
- a.table_select[0] = d(n, 0, l, u), a.part2_3_length = u.bits;
+ if (a.big_values = _, a.count1table_select = 0, f < l && (l = f, a.count1table_select = 1), a.count1bits = l, a.block_type == Pe.NORM_TYPE) u(e, a, t, s, n, r, i, o);else {
+ if (a.part2_3_length = l, _ < (l = e.scalefac_band.l[8]) && (l = _), 0 < l) {
+ var h = new v(a.part2_3_length);
+ a.table_select[0] = d(s, 0, l, h), a.part2_3_length = h.bits;
}
if (l < _) {
- var u = new v(a.part2_3_length);
- a.table_select[1] = d(n, l, _, u), a.part2_3_length = u.bits;
+ h = new v(a.part2_3_length);
+ a.table_select[1] = d(s, l, _, h), a.part2_3_length = h.bits;
}
t.part2_3_length > a.part2_3_length && t.assign(a);
}
}
}
};
- var u = [1, 1, 1, 1, 8, 2, 2, 2, 4, 4, 4, 8, 8, 8, 16, 16],
- b = [1, 2, 4, 8, 1, 2, 4, 8, 2, 4, 8, 2, 4, 8, 4, 8],
+ var h = [1, 1, 1, 1, 8, 2, 2, 2, 4, 4, 4, 8, 8, 8, 16, 16],
+ m = [1, 2, 4, 8, 1, 2, 4, 8, 2, 4, 8, 2, 4, 8, 4, 8],
p = [0, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4],
- m = [0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3];
- A.slen1_tab = p, A.slen2_tab = m, this.best_scalefac_store = function (e, t, a, n) {
- var s,
+ b = [0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3];
+ k.slen1_tab = p, k.slen2_tab = b, this.best_scalefac_store = function (e, t, a, s) {
+ var n,
r,
i,
o,
- _ = n.tt[t][a],
+ _ = s.tt[t][a],
l = 0;
- for (s = i = 0; s < _.sfbmax; s++) {
- var f = _.width[s];
+ for (n = i = 0; n < _.sfbmax; n++) {
+ var f = _.width[n];
for (i += f, o = -f; o < 0 && 0 == _.l3_enc[o + i]; o++);
- 0 == o && (_.scalefac[s] = l = -2);
+ 0 == o && (_.scalefac[n] = l = -2);
}
if (0 == _.scalefac_scale && 0 == _.preflag) {
var c = 0;
- for (s = 0; s < _.sfbmax; s++) 0 < _.scalefac[s] && (c |= _.scalefac[s]);
+ for (n = 0; n < _.sfbmax; n++) 0 < _.scalefac[n] && (c |= _.scalefac[n]);
if (0 == (1 & c) && 0 != c) {
- for (s = 0; s < _.sfbmax; s++) 0 < _.scalefac[s] && (_.scalefac[s] >>= 1);
+ for (n = 0; n < _.sfbmax; n++) 0 < _.scalefac[n] && (_.scalefac[n] >>= 1);
_.scalefac_scale = l = 1;
}
}
- if (0 == _.preflag && _.block_type != Ae.SHORT_TYPE && 2 == e.mode_gr) {
- for (s = 11; s < Ae.SBPSY_l && !(_.scalefac[s] < S.pretab[s] && -2 != _.scalefac[s]); s++);
- if (s == Ae.SBPSY_l) {
- for (s = 11; s < Ae.SBPSY_l; s++) 0 < _.scalefac[s] && (_.scalefac[s] -= S.pretab[s]);
+ if (0 == _.preflag && _.block_type != Pe.SHORT_TYPE && 2 == e.mode_gr) {
+ for (n = 11; n < Pe.SBPSY_l && !(_.scalefac[n] < M.pretab[n] && -2 != _.scalefac[n]); n++);
+ if (n == Pe.SBPSY_l) {
+ for (n = 11; n < Pe.SBPSY_l; n++) 0 < _.scalefac[n] && (_.scalefac[n] -= M.pretab[n]);
_.preflag = l = 1;
}
}
- for (r = 0; r < 4; r++) n.scfsi[a][r] = 0;
- for (2 == e.mode_gr && 1 == t && n.tt[0][a].block_type != Ae.SHORT_TYPE && n.tt[1][a].block_type != Ae.SHORT_TYPE && (function (e, t) {
- for (var a, n = t.tt[1][e], s = t.tt[0][e], r = 0; r < k.scfsi_band.length - 1; r++) {
- for (a = k.scfsi_band[r]; a < k.scfsi_band[r + 1] && !(s.scalefac[a] != n.scalefac[a] && 0 <= n.scalefac[a]); a++);
- if (a == k.scfsi_band[r + 1]) {
- for (a = k.scfsi_band[r]; a < k.scfsi_band[r + 1]; a++) n.scalefac[a] = -1;
+ for (r = 0; r < 4; r++) s.scfsi[a][r] = 0;
+ for (2 == e.mode_gr && 1 == t && s.tt[0][a].block_type != Pe.SHORT_TYPE && s.tt[1][a].block_type != Pe.SHORT_TYPE && (!function (e, t) {
+ for (var a, s = t.tt[1][e], n = t.tt[0][e], r = 0; r < F.scfsi_band.length - 1; r++) {
+ for (a = F.scfsi_band[r]; a < F.scfsi_band[r + 1] && !(n.scalefac[a] != s.scalefac[a] && 0 <= s.scalefac[a]); a++);
+ if (a == F.scfsi_band[r + 1]) {
+ for (a = F.scfsi_band[r]; a < F.scfsi_band[r + 1]; a++) s.scalefac[a] = -1;
t.scfsi[e][r] = 1;
}
}
var i = 0,
o = 0;
- for (a = 0; a < 11; a++) -1 != n.scalefac[a] && (o++, i < n.scalefac[a] && (i = n.scalefac[a]));
- for (var _ = 0, l = 0; a < Ae.SBPSY_l; a++) -1 != n.scalefac[a] && (l++, _ < n.scalefac[a] && (_ = n.scalefac[a]));
- for (var r = 0; r < 16; r++) if (i < u[r] && _ < b[r]) {
- var f = p[r] * o + m[r] * l;
- n.part2_length > f && (n.part2_length = f, n.scalefac_compress = r);
+ for (a = 0; a < 11; a++) -1 != s.scalefac[a] && (o++, i < s.scalefac[a] && (i = s.scalefac[a]));
+ for (var _ = 0, l = 0; a < Pe.SBPSY_l; a++) -1 != s.scalefac[a] && (l++, _ < s.scalefac[a] && (_ = s.scalefac[a]));
+ for (r = 0; r < 16; r++) if (i < h[r] && _ < m[r]) {
+ var f = p[r] * o + b[r] * l;
+ s.part2_length > f && (s.part2_length = f, s.scalefac_compress = r);
}
- }(a, n), l = 0), s = 0; s < _.sfbmax; s++) -2 == _.scalefac[s] && (_.scalefac[s] = 0);
+ }(a, s), l = 0), n = 0; n < _.sfbmax; n++) -2 == _.scalefac[n] && (_.scalefac[n] = 0);
0 != l && (2 == e.mode_gr ? this.scale_bitcount(_) : this.scale_bitcount_lsf(e, _));
};
var _ = [0, 18, 36, 54, 54, 36, 54, 72, 54, 72, 90, 72, 90, 108, 108, 126],
@@ -13677,458 +13325,476 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
this.scale_bitcount = function (e) {
var t,
a,
- n,
- s = 0,
+ s,
+ n = 0,
r = 0,
i = e.scalefac;
- if (e.block_type == Ae.SHORT_TYPE) n = _, 0 != e.mixed_block_flag && (n = l);else if (n = f, 0 == e.preflag) {
- for (a = 11; a < Ae.SBPSY_l && !(i[a] < S.pretab[a]); a++);
- if (a == Ae.SBPSY_l) for (e.preflag = 1, a = 11; a < Ae.SBPSY_l; a++) i[a] -= S.pretab[a];
+ if (e.block_type == Pe.SHORT_TYPE) s = _, 0 != e.mixed_block_flag && (s = l);else if (s = f, 0 == e.preflag) {
+ for (a = 11; a < Pe.SBPSY_l && !(i[a] < M.pretab[a]); a++);
+ if (a == Pe.SBPSY_l) for (e.preflag = 1, a = 11; a < Pe.SBPSY_l; a++) i[a] -= M.pretab[a];
}
- for (a = 0; a < e.sfbdivide; a++) s < i[a] && (s = i[a]);
+ for (a = 0; a < e.sfbdivide; a++) n < i[a] && (n = i[a]);
for (; a < e.sfbmax; a++) r < i[a] && (r = i[a]);
- for (e.part2_length = T.LARGE_BITS, t = 0; t < 16; t++) s < u[t] && r < b[t] && e.part2_length > n[t] && (e.part2_length = n[t], e.scalefac_compress = t);
- return e.part2_length == T.LARGE_BITS;
+ for (e.part2_length = x.LARGE_BITS, t = 0; t < 16; t++) n < h[t] && r < m[t] && e.part2_length > s[t] && (e.part2_length = s[t], e.scalefac_compress = t);
+ return e.part2_length == x.LARGE_BITS;
};
var g = [[15, 15, 7, 7], [15, 15, 7, 0], [7, 3, 0, 0], [15, 31, 31, 0], [7, 7, 7, 0], [3, 3, 0, 0]];
this.scale_bitcount_lsf = function (e, t) {
var a,
- n,
s,
+ n,
r,
i,
o,
_,
l,
- f = ve(4),
+ f = Ae(4),
c = t.scalefac;
for (a = 0 != t.preflag ? 2 : 0, _ = 0; _ < 4; _++) f[_] = 0;
- if (t.block_type == Ae.SHORT_TYPE) {
- n = 1;
- var u = S.nr_of_sfb_block[a][n];
- for (s = l = 0; s < 4; s++) for (r = u[s] / 3, _ = 0; _ < r; _++, l++) for (i = 0; i < 3; i++) c[3 * l + i] > f[s] && (f[s] = c[3 * l + i]);
+ if (t.block_type == Pe.SHORT_TYPE) {
+ s = 1;
+ var h = M.nr_of_sfb_block[a][s];
+ for (n = l = 0; n < 4; n++) for (r = h[n] / 3, _ = 0; _ < r; _++, l++) for (i = 0; i < 3; i++) c[3 * l + i] > f[n] && (f[n] = c[3 * l + i]);
} else {
- n = 0;
- var u = S.nr_of_sfb_block[a][n];
- for (s = l = 0; s < 4; s++) for (r = u[s], _ = 0; _ < r; _++, l++) c[l] > f[s] && (f[s] = c[l]);
+ s = 0;
+ h = M.nr_of_sfb_block[a][s];
+ for (n = l = 0; n < 4; n++) for (r = h[n], _ = 0; _ < r; _++, l++) c[l] > f[n] && (f[n] = c[l]);
}
- for (o = !1, s = 0; s < 4; s++) f[s] > g[a][s] && (o = !0);
+ for (o = !1, n = 0; n < 4; n++) f[n] > g[a][n] && (o = !0);
if (!o) {
- var h, b, p, m;
- for (t.sfb_partition_table = S.nr_of_sfb_block[a][n], s = 0; s < 4; s++) t.slen[s] = w[f[s]];
- switch (h = t.slen[0], b = t.slen[1], p = t.slen[2], m = t.slen[3], a) {
+ var u, m, p, b;
+ for (t.sfb_partition_table = M.nr_of_sfb_block[a][s], n = 0; n < 4; n++) t.slen[n] = S[f[n]];
+ switch (u = t.slen[0], m = t.slen[1], p = t.slen[2], b = t.slen[3], a) {
case 0:
- t.scalefac_compress = (5 * h + b << 4) + (p << 2) + m;
+ t.scalefac_compress = (5 * u + m << 4) + (p << 2) + b;
break;
case 1:
- t.scalefac_compress = 400 + (5 * h + b << 2) + p;
+ t.scalefac_compress = 400 + (5 * u + m << 2) + p;
break;
case 2:
- t.scalefac_compress = 500 + 3 * h + b;
+ t.scalefac_compress = 500 + 3 * u + m;
+ break;
+ default:
+ $.err.printf("intensity stereo not implemented yet\n");
}
}
- if (!o) for (t.part2_length = 0, s = 0; s < 4; s++) t.part2_length += t.slen[s] * t.sfb_partition_table[s];
+ if (!o) for (n = t.part2_length = 0; n < 4; n++) t.part2_length += t.slen[n] * t.sfb_partition_table[n];
return o;
};
- var w = [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4];
+ var S = [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4];
this.huffman_init = function (e) {
for (var t = 2; t <= 576; t += 2) {
- for (var a, n = 0; e.scalefac_band.l[++n] < t;);
- for (a = s[n][0]; e.scalefac_band.l[a + 1] > t;) a--;
- for (a < 0 && (a = s[n][0]), e.bv_scf[t - 2] = a, a = s[n][1]; e.scalefac_band.l[a + e.bv_scf[t - 2] + 2] > t;) a--;
- a < 0 && (a = s[n][1]), e.bv_scf[t - 1] = a;
+ for (var a, s = 0; e.scalefac_band.l[++s] < t;);
+ for (a = n[s][0]; e.scalefac_band.l[a + 1] > t;) a--;
+ for (a < 0 && (a = n[s][0]), e.bv_scf[t - 2] = a, a = n[s][1]; e.scalefac_band.l[a + e.bv_scf[t - 2] + 2] > t;) a--;
+ a < 0 && (a = n[s][1]), e.bv_scf[t - 1] = a;
}
};
}
- function O() {}
- function y() {
- this.setModules = function (e, t, a) {};
+ function X() {}
+ function M() {
+ this.setModules = function (e, t, a) {
+ };
var o = [0, 49345, 49537, 320, 49921, 960, 640, 49729, 50689, 1728, 1920, 51009, 1280, 50625, 50305, 1088, 52225, 3264, 3456, 52545, 3840, 53185, 52865, 3648, 2560, 51905, 52097, 2880, 51457, 2496, 2176, 51265, 55297, 6336, 6528, 55617, 6912, 56257, 55937, 6720, 7680, 57025, 57217, 8e3, 56577, 7616, 7296, 56385, 5120, 54465, 54657, 5440, 55041, 6080, 5760, 54849, 53761, 4800, 4992, 54081, 4352, 53697, 53377, 4160, 61441, 12480, 12672, 61761, 13056, 62401, 62081, 12864, 13824, 63169, 63361, 14144, 62721, 13760, 13440, 62529, 15360, 64705, 64897, 15680, 65281, 16320, 16e3, 65089, 64001, 15040, 15232, 64321, 14592, 63937, 63617, 14400, 10240, 59585, 59777, 10560, 60161, 11200, 10880, 59969, 60929, 11968, 12160, 61249, 11520, 60865, 60545, 11328, 58369, 9408, 9600, 58689, 9984, 59329, 59009, 9792, 8704, 58049, 58241, 9024, 57601, 8640, 8320, 57409, 40961, 24768, 24960, 41281, 25344, 41921, 41601, 25152, 26112, 42689, 42881, 26432, 42241, 26048, 25728, 42049, 27648, 44225, 44417, 27968, 44801, 28608, 28288, 44609, 43521, 27328, 27520, 43841, 26880, 43457, 43137, 26688, 30720, 47297, 47489, 31040, 47873, 31680, 31360, 47681, 48641, 32448, 32640, 48961, 32e3, 48577, 48257, 31808, 46081, 29888, 30080, 46401, 30464, 47041, 46721, 30272, 29184, 45761, 45953, 29504, 45313, 29120, 28800, 45121, 20480, 37057, 37249, 20800, 37633, 21440, 21120, 37441, 38401, 22208, 22400, 38721, 21760, 38337, 38017, 21568, 39937, 23744, 23936, 40257, 24320, 40897, 40577, 24128, 23040, 39617, 39809, 23360, 39169, 22976, 22656, 38977, 34817, 18624, 18816, 35137, 19200, 35777, 35457, 19008, 19968, 36545, 36737, 20288, 36097, 19904, 19584, 35905, 17408, 33985, 34177, 17728, 34561, 18368, 18048, 34369, 33281, 17088, 17280, 33601, 16640, 33217, 32897, 16448];
- this.updateMusicCRC = function (e, t, a, n) {
- for (var s = 0; s < n; ++s) e[0] = (r = t[a + s], i = (i = e[0]) >> 8 ^ o[255 & (i ^ r)]);
+ this.updateMusicCRC = function (e, t, a, s) {
+ for (var n = 0; n < s; ++n) e[0] = (r = t[a + n], i = (i = e[0]) >> 8 ^ o[255 & (i ^ r)]);
var r, i;
};
}
- function N() {
- var i = this,
+ function q() {
+ var _ = this,
+ s = 32773,
+ c = null,
+ h = null,
r = null,
- o = null;
- this.setModules = function (e, t, a, n) {
- r = a, o = n;
+ u = null;
+ this.setModules = function (e, t, a, s) {
+ c = e, h = t, r = a, u = s;
};
- var _ = null,
+ var m = null,
l = 0,
- f = 0,
- c = 0;
+ p = 0,
+ b = 0;
function v(e, t, a) {
for (; 0 < a;) {
- var n;
- 0 == c && (c = 8, f++, e.header[e.w_ptr].write_timing == l && (s = e, I.arraycopy(s.header[s.w_ptr].buf, 0, _, f, s.sideinfo_len), f += s.sideinfo_len, l += 8 * s.sideinfo_len, s.w_ptr = s.w_ptr + 1 & j.MAX_HEADER_BUF - 1), _[f] = 0), n = Math.min(a, c), a -= n, c -= n, _[f] |= t >> a << c, l += n;
+ var s;
+ 0 == b && (b = 8, p++, e.header[e.w_ptr].write_timing == l && (n = e, $.arraycopy(n.header[n.w_ptr].buf, 0, m, p, n.sideinfo_len), p += n.sideinfo_len, l += 8 * n.sideinfo_len, n.w_ptr = n.w_ptr + 1 & Z.MAX_HEADER_BUF - 1), m[p] = 0), a -= s = Math.min(a, b), b -= s, m[p] |= t >> a << b, l += s;
}
- var s;
+ var n;
}
- function u(e, t) {
+ function i(e, t, a) {
+ for (; 0 < a;) {
+ var s;
+ 0 == b && (b = 8, m[++p] = 0), a -= s = Math.min(a, b), b -= s, m[p] |= t >> a << b, l += s;
+ }
+ }
+ function o(e, t) {
var a,
- n = e.internal_flags;
- if (8 <= t && (v(n, 76, 8), t -= 8), 8 <= t && (v(n, 65, 8), t -= 8), 8 <= t && (v(n, 77, 8), t -= 8), 8 <= t && (v(n, 69, 8), t -= 8), 32 <= t) {
- var s = r.getLameShortVersion();
- if (32 <= t) for (a = 0; a < s.length && 8 <= t; ++a) t -= 8, v(n, s.charCodeAt(a), 8);
+ s = e.internal_flags;
+ if (8 <= t && (v(s, 76, 8), t -= 8), 8 <= t && (v(s, 65, 8), t -= 8), 8 <= t && (v(s, 77, 8), t -= 8), 8 <= t && (v(s, 69, 8), t -= 8), 32 <= t) {
+ var n = r.getLameShortVersion();
+ if (32 <= t) for (a = 0; a < n.length && 8 <= t; ++a) t -= 8, v(s, n.charCodeAt(a), 8);
}
- for (; 1 <= t; t -= 1) v(n, n.ancillary_flag, 1), n.ancillary_flag ^= e.disable_reservoir ? 0 : 1;
+ for (; 1 <= t; t -= 1) v(s, s.ancillary_flag, 1), s.ancillary_flag ^= e.disable_reservoir ? 0 : 1;
}
- function h(e, t, a) {
- for (var n = e.header[e.h_ptr].ptr; 0 < a;) {
- var s = Math.min(a, 8 - (7 & n));
- a -= s, e.header[e.h_ptr].buf[n >> 3] |= t >> a << 8 - (7 & n) - s, n += s;
+ function f(e, t, a) {
+ for (var s = e.header[e.h_ptr].ptr; 0 < a;) {
+ var n = Math.min(a, 8 - (7 & s));
+ a -= n, e.header[e.h_ptr].buf[s >> 3] |= t >> a << 8 - (7 & s) - n, s += n;
}
- e.header[e.h_ptr].ptr = n;
+ e.header[e.h_ptr].ptr = s;
}
- function m(e, t) {
+ function n(e, t) {
+ e <<= 8;
+ for (var a = 0; a < 8; a++) 0 != (65536 & ((t <<= 1) ^ (e <<= 1))) && (t ^= s);
+ return t;
+ }
+ function d(e, t) {
var a,
- n = k.ht[t.count1table_select + 32],
- s = 0,
+ s = F.ht[t.count1table_select + 32],
+ n = 0,
r = t.big_values,
i = t.big_values;
for (a = (t.count1 - t.big_values) / 4; 0 < a; --a) {
var o = 0,
_ = 0;
- 0 != t.l3_enc[r + 0] && (_ += 8, t.xr[i + 0] < 0 && o++), 0 != t.l3_enc[r + 1] && (_ += 4, o *= 2, t.xr[i + 1] < 0 && o++), 0 != t.l3_enc[r + 2] && (_ += 2, o *= 2, t.xr[i + 2] < 0 && o++), 0 != t.l3_enc[r + 3] && (_++, o *= 2, t.xr[i + 3] < 0 && o++), r += 4, i += 4, v(e, o + n.table[_], n.hlen[_]), s += n.hlen[_];
+ 0 != t.l3_enc[r + 0] && (_ += 8, t.xr[i + 0] < 0 && o++), 0 != t.l3_enc[r + 1] && (_ += 4, o *= 2, t.xr[i + 1] < 0 && o++), 0 != t.l3_enc[r + 2] && (_ += 2, o *= 2, t.xr[i + 2] < 0 && o++), 0 != t.l3_enc[r + 3] && (_++, o *= 2, t.xr[i + 3] < 0 && o++), r += 4, i += 4, v(e, o + s.table[_], s.hlen[_]), n += s.hlen[_];
}
- return s;
+ return n;
}
- function b(e, t, a, n, s) {
- var r = k.ht[t],
+ function g(e, t, a, s, n) {
+ var r = F.ht[t],
i = 0;
if (0 == t) return i;
- for (var o = a; o < n; o += 2) {
+ for (var o = a; o < s; o += 2) {
var _ = 0,
l = 0,
f = r.xlen,
c = r.xlen,
- u = 0,
- h = s.l3_enc[o],
- b = s.l3_enc[o + 1];
- if (0 != h && (s.xr[o] < 0 && u++, _--), 15 < t) {
- if (14 < h) {
- var p = h - 15;
- u |= p << 1, l = f, h = 15;
- }
- if (14 < b) {
- var m = b - 15;
- u <<= f, u |= m, l += f, b = 15;
- }
+ h = 0,
+ u = n.l3_enc[o],
+ m = n.l3_enc[o + 1];
+ if (0 != u && (n.xr[o] < 0 && h++, _--), 15 < t) {
+ if (14 < u) h |= u - 15 << 1, l = f, u = 15;
+ if (14 < m) h <<= f, h |= m - 15, l += f, m = 15;
c = 16;
}
- 0 != b && (u <<= 1, s.xr[o + 1] < 0 && u++, _--), h = h * c + b, l -= _, _ += r.hlen[h], v(e, r.table[h], _), v(e, u, l), i += _ + l;
+ 0 != m && (h <<= 1, n.xr[o + 1] < 0 && h++, _--), u = u * c + m, l -= _, _ += r.hlen[u], v(e, r.table[u], _), v(e, h, l), i += _ + l;
}
return i;
}
- function d(e, t) {
+ function S(e, t) {
var a = 3 * e.scalefac_band.s[3];
a > t.big_values && (a = t.big_values);
- var n = b(e, t.table_select[0], 0, a, t);
- return n += b(e, t.table_select[1], a, t.big_values, t);
+ var s = g(e, t.table_select[0], 0, a, t);
+ return s += g(e, t.table_select[1], a, t.big_values, t);
}
- function g(e, t) {
- var a, n, s, r;
+ function M(e, t) {
+ var a, s, n, r;
a = t.big_values;
var i = t.region0_count + 1;
- return s = e.scalefac_band.l[i], i += t.region1_count + 1, r = e.scalefac_band.l[i], a < s && (s = a), a < r && (r = a), n = b(e, t.table_select[0], 0, s, t), n += b(e, t.table_select[1], s, r, t), n += b(e, t.table_select[2], r, a, t);
+ return n = e.scalefac_band.l[i], i += t.region1_count + 1, a < n && (n = a), a < (r = e.scalefac_band.l[i]) && (r = a), s = g(e, t.table_select[0], 0, n, t), s += g(e, t.table_select[1], n, r, t), s += g(e, t.table_select[2], r, a, t);
}
- function p() {
+ function w() {
this.total = 0;
}
- function w(e, t) {
+ function R(e, t) {
var a,
- n,
s,
- r = e.internal_flags;
- return r.w_ptr, -1 == (s = r.h_ptr - 1) && (s = j.MAX_HEADER_BUF - 1), a = r.header[s].write_timing - l, 0 <= (t.total = a) && me(), n = i.getframebits(e), a += n, t.total += n, t.total % 8 != 0 ? t.total = 1 + t.total / 8 : t.total = t.total / 8, t.total += f + 1, a;
+ n,
+ r,
+ i,
+ o = e.internal_flags;
+ return i = o.w_ptr, -1 == (r = o.h_ptr - 1) && (r = Z.MAX_HEADER_BUF - 1), a = o.header[r].write_timing - l, 0 <= (t.total = a) && (s = 1 + r - i, r < i && (s = 1 + r - i + Z.MAX_HEADER_BUF), a -= 8 * s * o.sideinfo_len), a += n = _.getframebits(e), t.total += n, t.total % 8 != 0 ? t.total = 1 + t.total / 8 : t.total = t.total / 8, t.total += p + 1, a < 0 && $.err.println("strange error flushing buffer ... \n"), a;
}
this.getframebits = function (e) {
var t,
a = e.internal_flags;
- t = 0 != a.bitrate_index ? k.bitrate_table[e.version][a.bitrate_index] : e.brate;
- var n = 0 | 72e3 * (e.version + 1) * t / e.out_samplerate + a.padding;
- return 8 * n;
+ return t = 0 != a.bitrate_index ? F.bitrate_table[e.version][a.bitrate_index] : e.brate, 8 * (0 | 72e3 * (e.version + 1) * t / e.out_samplerate + a.padding);
+ }, this.CRC_writeheader = function (e, t) {
+ var a = 65535;
+ a = n(255 & t[2], a), a = n(255 & t[3], a);
+ for (var s = 6; s < e.sideinfo_len; s++) a = n(255 & t[s], a);
+ t[4] = byte(a >> 8), t[5] = byte(255 & a);
}, this.flush_bitstream = function (e) {
var t,
a,
- n = e.internal_flags;
- n.h_ptr - 1;
- t = n.l3_side, (a = w(e, new p())) < 0 || (u(e, a), n.ResvSize = 0, t.main_data_begin = 0, n.findReplayGain && me(), n.findPeakSample && me());
+ s = e.internal_flags;
+ s.h_ptr - 1;
+ if (t = s.l3_side, !((a = R(e, new w())) < 0)) {
+ if (o(e, a), s.ResvSize = 0, t.main_data_begin = 0, s.findReplayGain) {
+ var r = c.GetTitleGain(s.rgdata);
+ s.RadioGain = 0 | Math.floor(10 * r + .5);
+ }
+ s.findPeakSample && (s.noclipGainChange = 0 | Math.ceil(20 * B(s.PeakSample / 32767) * 10), 0 < s.noclipGainChange && (EQ(e.scale, 1) || EQ(e.scale, 0)) ? s.noclipScale = Math.floor(32767 / s.PeakSample * 100) / 100 : s.noclipScale = -1);
+ }
+ }, this.add_dummy_byte = function (e, t, a) {
+ for (var s, n = e.internal_flags; 0 < a--;) for (i(0, t, 8), s = 0; s < Z.MAX_HEADER_BUF; ++s) n.header[s].write_timing += 8;
}, this.format_bitstream = function (e) {
var t,
a = e.internal_flags;
t = a.l3_side;
- var n = this.getframebits(e);
- u(e, t.resvDrain_pre), function (e, t) {
+ var s = this.getframebits(e);
+ o(e, t.resvDrain_pre), function (e, t) {
var a,
- n,
s,
+ n,
r = e.internal_flags;
- if (a = r.l3_side, r.header[r.h_ptr].ptr = 0, we.fill(r.header[r.h_ptr].buf, 0, r.sideinfo_len, 0), e.out_samplerate < 16e3 ? h(r, 4094, 12) : h(r, 4095, 12), h(r, e.version, 1), h(r, 1, 2), h(r, e.error_protection ? 0 : 1, 1), h(r, r.bitrate_index, 4), h(r, r.samplerate_index, 2), h(r, r.padding, 1), h(r, e.extension, 1), h(r, e.mode.ordinal(), 2), h(r, r.mode_ext, 2), h(r, e.copyright, 1), h(r, e.original, 1), h(r, e.emphasis, 2), e.error_protection && h(r, 0, 16), 1 == e.version) {
- for (h(r, a.main_data_begin, 9), 2 == r.channels_out ? h(r, a.private_bits, 3) : h(r, a.private_bits, 5), s = 0; s < r.channels_out; s++) {
+ if (a = r.l3_side, r.header[r.h_ptr].ptr = 0, ye.fill(r.header[r.h_ptr].buf, 0, r.sideinfo_len, 0), e.out_samplerate < 16e3 ? f(r, 4094, 12) : f(r, 4095, 12), f(r, e.version, 1), f(r, 1, 2), f(r, e.error_protection ? 0 : 1, 1), f(r, r.bitrate_index, 4), f(r, r.samplerate_index, 2), f(r, r.padding, 1), f(r, e.extension, 1), f(r, e.mode.ordinal(), 2), f(r, r.mode_ext, 2), f(r, e.copyright, 1), f(r, e.original, 1), f(r, e.emphasis, 2), e.error_protection && f(r, 0, 16), 1 == e.version) {
+ for (f(r, a.main_data_begin, 9), 2 == r.channels_out ? f(r, a.private_bits, 3) : f(r, a.private_bits, 5), n = 0; n < r.channels_out; n++) {
var i;
- for (i = 0; i < 4; i++) h(r, a.scfsi[s][i], 1);
+ for (i = 0; i < 4; i++) f(r, a.scfsi[n][i], 1);
}
- for (n = 0; n < 2; n++) for (s = 0; s < r.channels_out; s++) {
- var o = a.tt[n][s];
- h(r, o.part2_3_length + o.part2_length, 12), h(r, o.big_values / 2, 9), h(r, o.global_gain, 8), h(r, o.scalefac_compress, 4), o.block_type != Ae.NORM_TYPE ? (h(r, 1, 1), h(r, o.block_type, 2), h(r, o.mixed_block_flag, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), h(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), h(r, o.table_select[1], 5), h(r, o.subblock_gain[0], 3), h(r, o.subblock_gain[1], 3), h(r, o.subblock_gain[2], 3)) : (h(r, 0, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), h(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), h(r, o.table_select[1], 5), 14 == o.table_select[2] && (o.table_select[2] = 16), h(r, o.table_select[2], 5), h(r, o.region0_count, 4), h(r, o.region1_count, 3)), h(r, o.preflag, 1), h(r, o.scalefac_scale, 1), h(r, o.count1table_select, 1);
- }
- } else for (h(r, a.main_data_begin, 8), h(r, a.private_bits, r.channels_out), s = n = 0; s < r.channels_out; s++) {
- var o = a.tt[n][s];
- h(r, o.part2_3_length + o.part2_length, 12), h(r, o.big_values / 2, 9), h(r, o.global_gain, 8), h(r, o.scalefac_compress, 9), o.block_type != Ae.NORM_TYPE ? (h(r, 1, 1), h(r, o.block_type, 2), h(r, o.mixed_block_flag, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), h(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), h(r, o.table_select[1], 5), h(r, o.subblock_gain[0], 3), h(r, o.subblock_gain[1], 3), h(r, o.subblock_gain[2], 3)) : (h(r, 0, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), h(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), h(r, o.table_select[1], 5), 14 == o.table_select[2] && (o.table_select[2] = 16), h(r, o.table_select[2], 5), h(r, o.region0_count, 4), h(r, o.region1_count, 3)), h(r, o.scalefac_scale, 1), h(r, o.count1table_select, 1);
+ for (s = 0; s < 2; s++) for (n = 0; n < r.channels_out; n++) f(r, (o = a.tt[s][n]).part2_3_length + o.part2_length, 12), f(r, o.big_values / 2, 9), f(r, o.global_gain, 8), f(r, o.scalefac_compress, 4), o.block_type != Pe.NORM_TYPE ? (f(r, 1, 1), f(r, o.block_type, 2), f(r, o.mixed_block_flag, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), f(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), f(r, o.table_select[1], 5), f(r, o.subblock_gain[0], 3), f(r, o.subblock_gain[1], 3), f(r, o.subblock_gain[2], 3)) : (f(r, 0, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), f(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), f(r, o.table_select[1], 5), 14 == o.table_select[2] && (o.table_select[2] = 16), f(r, o.table_select[2], 5), f(r, o.region0_count, 4), f(r, o.region1_count, 3)), f(r, o.preflag, 1), f(r, o.scalefac_scale, 1), f(r, o.count1table_select, 1);
+ } else for (f(r, a.main_data_begin, 8), f(r, a.private_bits, r.channels_out), n = s = 0; n < r.channels_out; n++) {
+ var o;
+ f(r, (o = a.tt[s][n]).part2_3_length + o.part2_length, 12), f(r, o.big_values / 2, 9), f(r, o.global_gain, 8), f(r, o.scalefac_compress, 9), o.block_type != Pe.NORM_TYPE ? (f(r, 1, 1), f(r, o.block_type, 2), f(r, o.mixed_block_flag, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), f(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), f(r, o.table_select[1], 5), f(r, o.subblock_gain[0], 3), f(r, o.subblock_gain[1], 3), f(r, o.subblock_gain[2], 3)) : (f(r, 0, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), f(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), f(r, o.table_select[1], 5), 14 == o.table_select[2] && (o.table_select[2] = 16), f(r, o.table_select[2], 5), f(r, o.region0_count, 4), f(r, o.region1_count, 3)), f(r, o.scalefac_scale, 1), f(r, o.count1table_select, 1);
}
- e.error_protection && me();
+ e.error_protection && CRC_writeheader(r, r.header[r.h_ptr].buf);
var _ = r.h_ptr;
- r.h_ptr = _ + 1 & j.MAX_HEADER_BUF - 1, r.header[r.h_ptr].write_timing = r.header[_].write_timing + t, r.h_ptr, r.w_ptr;
- }(e, n);
- var s = 8 * a.sideinfo_len;
- if (s += function (e) {
+ r.h_ptr = _ + 1 & Z.MAX_HEADER_BUF - 1, r.header[r.h_ptr].write_timing = r.header[_].write_timing + t, r.h_ptr == r.w_ptr && $.err.println("Error: MAX_HEADER_BUF too small in bitstream.c \n");
+ }(e, s);
+ var n = 8 * a.sideinfo_len;
+ if (n += function (e) {
var t,
a,
- n,
s,
+ n,
r = 0,
i = e.internal_flags,
o = i.l3_side;
if (1 == e.version) for (t = 0; t < 2; t++) for (a = 0; a < i.channels_out; a++) {
var _ = o.tt[t][a],
- l = A.slen1_tab[_.scalefac_compress],
- f = A.slen2_tab[_.scalefac_compress];
- for (n = s = 0; n < _.sfbdivide; n++) -1 != _.scalefac[n] && (v(i, _.scalefac[n], l), s += l);
- for (; n < _.sfbmax; n++) -1 != _.scalefac[n] && (v(i, _.scalefac[n], f), s += f);
- _.block_type == Ae.SHORT_TYPE ? s += d(i, _) : s += g(i, _), s += m(i, _), r += s;
+ l = k.slen1_tab[_.scalefac_compress],
+ f = k.slen2_tab[_.scalefac_compress];
+ for (s = n = 0; s < _.sfbdivide; s++) -1 != _.scalefac[s] && (v(i, _.scalefac[s], l), n += l);
+ for (; s < _.sfbmax; s++) -1 != _.scalefac[s] && (v(i, _.scalefac[s], f), n += f);
+ _.block_type == Pe.SHORT_TYPE ? n += S(i, _) : n += M(i, _), r += n += d(i, _);
} else for (a = t = 0; a < i.channels_out; a++) {
var c,
- u,
- _ = o.tt[t][a],
- h = 0;
- if (u = n = s = 0, _.block_type == Ae.SHORT_TYPE) {
- for (; u < 4; u++) {
- var b = _.sfb_partition_table[u] / 3,
- p = _.slen[u];
- for (c = 0; c < b; c++, n++) v(i, Math.max(_.scalefac[3 * n + 0], 0), p), v(i, Math.max(_.scalefac[3 * n + 1], 0), p), v(i, Math.max(_.scalefac[3 * n + 2], 0), p), h += 3 * p;
+ h,
+ u = 0;
+ if (h = s = n = 0, (_ = o.tt[t][a]).block_type == Pe.SHORT_TYPE) {
+ for (; h < 4; h++) {
+ var m = _.sfb_partition_table[h] / 3,
+ p = _.slen[h];
+ for (c = 0; c < m; c++, s++) v(i, Math.max(_.scalefac[3 * s + 0], 0), p), v(i, Math.max(_.scalefac[3 * s + 1], 0), p), v(i, Math.max(_.scalefac[3 * s + 2], 0), p), u += 3 * p;
}
- s += d(i, _);
+ n += S(i, _);
} else {
- for (; u < 4; u++) {
- var b = _.sfb_partition_table[u],
- p = _.slen[u];
- for (c = 0; c < b; c++, n++) v(i, Math.max(_.scalefac[n], 0), p), h += p;
- }
- s += g(i, _);
+ for (; h < 4; h++) for (m = _.sfb_partition_table[h], p = _.slen[h], c = 0; c < m; c++, s++) v(i, Math.max(_.scalefac[s], 0), p), u += p;
+ n += M(i, _);
}
- s += m(i, _), r += h + s;
+ r += u + (n += d(i, _));
}
return r;
- }(e), u(e, t.resvDrain_post), s += t.resvDrain_post, t.main_data_begin += (n - s) / 8, w(e, new p()), a.ResvSize, 8 * t.main_data_begin != a.ResvSize && (a.ResvSize = 8 * t.main_data_begin), 1e9 < l) {
+ }(e), o(e, t.resvDrain_post), n += t.resvDrain_post, t.main_data_begin += (s - n) / 8, R(e, new w()) != a.ResvSize && $.err.println("Internal buffer inconsistency. flushbits <> ResvSize"), 8 * t.main_data_begin != a.ResvSize && ($.err.printf("bit reservoir error: \nl3_side.main_data_begin: %d \nResvoir size: %d \nresv drain (post) %d \nresv drain (pre) %d \nheader and sideinfo: %d \ndata bits: %d \ntotal bits: %d (remainder: %d) \nbitsperframe: %d \n", 8 * t.main_data_begin, a.ResvSize, t.resvDrain_post, t.resvDrain_pre, 8 * a.sideinfo_len, n - t.resvDrain_post - 8 * a.sideinfo_len, n, n % 8, s), $.err.println("This is a fatal error. It has several possible causes:"), $.err.println("90%% LAME compiled with buggy version of gcc using advanced optimizations"), $.err.println(" 9%% Your system is overclocked"), $.err.println(" 1%% bug in LAME encoding library"), a.ResvSize = 8 * t.main_data_begin), 1e9 < l) {
var r;
- for (r = 0; r < j.MAX_HEADER_BUF; ++r) a.header[r].write_timing -= l;
+ for (r = 0; r < Z.MAX_HEADER_BUF; ++r) a.header[r].write_timing -= l;
l = 0;
}
return 0;
- }, this.copy_buffer = function (e, t, a, n, s) {
- var r = f + 1;
+ }, this.copy_buffer = function (e, t, a, s, n) {
+ var r = p + 1;
if (r <= 0) return 0;
- if (0 != n && n < r) return -1;
- if (I.arraycopy(_, 0, t, a, r), f = -1, (c = 0) != s) {
- var i = ve(1);
- i[0] = e.nMusicCRC, o.updateMusicCRC(i, t, a, r), e.nMusicCRC = i[0], 0 < r && (e.VBR_seek_table.nBytesWritten += r), e.decode_on_the_fly && me();
+ if (0 != s && s < r) return -1;
+ if ($.arraycopy(m, 0, t, a, r), p = -1, (b = 0) != n) {
+ var i = Ae(1);
+ if (i[0] = e.nMusicCRC, u.updateMusicCRC(i, t, a, r), e.nMusicCRC = i[0], 0 < r && (e.VBR_seek_table.nBytesWritten += r), e.decode_on_the_fly) for (var o, _ = ke([2, 1152]), l = r, f = -1; 0 != f;) if (f = h.hip_decode1_unclipped(e.hip, t, a, l, _[0], _[1]), l = 0, -1 == f && (f = 0), 0 < f) {
+ if (e.findPeakSample) {
+ for (o = 0; o < f; o++) _[0][o] > e.PeakSample ? e.PeakSample = _[0][o] : -_[0][o] > e.PeakSample && (e.PeakSample = -_[0][o]);
+ if (1 < e.channels_out) for (o = 0; o < f; o++) _[1][o] > e.PeakSample ? e.PeakSample = _[1][o] : -_[1][o] > e.PeakSample && (e.PeakSample = -_[1][o]);
+ }
+ if (e.findReplayGain && c.AnalyzeSamples(e.rgdata, _[0], 0, _[1], 0, f, e.channels_out) == X.GAIN_ANALYSIS_ERROR) return -6;
+ }
}
return r;
}, this.init_bit_stream_w = function (e) {
- _ = S(Y.LAME_MAXMP3BUFFER), e.h_ptr = e.w_ptr = 0, e.header[e.h_ptr].write_timing = 0, f = -1, l = c = 0;
+ m = A(U.LAME_MAXMP3BUFFER), e.h_ptr = e.w_ptr = 0, e.header[e.h_ptr].write_timing = 0, p = -1, l = b = 0;
};
}
- function e(e, t, a, n) {
- this.xlen = e, this.linmax = t, this.table = a, this.hlen = n;
+ function e(e, t, a, s) {
+ this.xlen = e, this.linmax = t, this.table = a, this.hlen = s;
}
- D.MAX_VALUE = 3.4028235e38, Me.vbr_off = new Me(0), Me.vbr_mt = new Me(1), Me.vbr_rh = new Me(2), Me.vbr_abr = new Me(3), Me.vbr_mtrh = new Me(4), Me.vbr_default = Me.vbr_mtrh, ye.STEREO = new ye(0), ye.JOINT_STEREO = new ye(1), ye.DUAL_CHANNEL = new ye(2), ye.MONO = new ye(3), ye.NOT_SET = new ye(4), O.STEPS_per_dB = 100, O.MAX_dB = 120, O.GAIN_NOT_ENOUGH_SAMPLES = -24601, O.GAIN_ANALYSIS_ERROR = 0, O.GAIN_ANALYSIS_OK = 1, O.INIT_GAIN_ANALYSIS_ERROR = 0, O.INIT_GAIN_ANALYSIS_OK = 1, O.MAX_ORDER = O.YULE_ORDER = 10, O.MAX_SAMPLES_PER_WINDOW = (O.MAX_SAMP_FREQ = 48e3) * (O.RMS_WINDOW_TIME_NUMERATOR = 1) / (O.RMS_WINDOW_TIME_DENOMINATOR = 20) + 1, y.NUMTOCENTRIES = 100, y.MAXFRAMESIZE = 2880, N.EQ = function (e, t) {
+ Ee.STEREO = new Ee(0), Ee.JOINT_STEREO = new Ee(1), Ee.DUAL_CHANNEL = new Ee(2), Ee.MONO = new Ee(3), Ee.NOT_SET = new Ee(4), X.STEPS_per_dB = 100, X.MAX_dB = 120, X.GAIN_NOT_ENOUGH_SAMPLES = -24601, X.GAIN_ANALYSIS_ERROR = 0, X.GAIN_ANALYSIS_OK = 1, X.INIT_GAIN_ANALYSIS_ERROR = 0, X.INIT_GAIN_ANALYSIS_OK = 1, X.MAX_ORDER = X.YULE_ORDER = 10, X.MAX_SAMPLES_PER_WINDOW = (X.MAX_SAMP_FREQ = 48e3) * (X.RMS_WINDOW_TIME_NUMERATOR = 1) / (X.RMS_WINDOW_TIME_DENOMINATOR = 20) + 1, M.NUMTOCENTRIES = 100, M.MAXFRAMESIZE = 2880, q.EQ = function (e, t) {
return Math.abs(e) > Math.abs(t) ? Math.abs(e - t) <= 1e-6 * Math.abs(e) : Math.abs(e - t) <= 1e-6 * Math.abs(t);
- }, N.NEQ = function (e, t) {
- return !N.EQ(e, t);
+ }, q.NEQ = function (e, t) {
+ return !q.EQ(e, t);
};
- var k = {};
- function R(e) {
+ var F = {};
+ function j(e) {
this.bits = e;
}
- function x() {
+ function y() {
this.over_noise = 0, this.tot_noise = 0, this.max_noise = 0, this.over_count = 0, this.over_SSD = 0, this.bits = 0;
}
- function r(e, t, a, n) {
- this.l = ve(1 + Ae.SBMAX_l), this.s = ve(1 + Ae.SBMAX_s), this.psfb21 = ve(1 + Ae.PSFB21), this.psfb12 = ve(1 + Ae.PSFB12);
- var s = this.l,
+ function r(e, t, a, s) {
+ this.l = Ae(1 + Pe.SBMAX_l), this.s = Ae(1 + Pe.SBMAX_s), this.psfb21 = Ae(1 + Pe.PSFB21), this.psfb12 = Ae(1 + Pe.PSFB12);
+ var n = this.l,
r = this.s;
- 4 == arguments.length && (this.arrL = e, this.arrS = t, this.arr21 = a, this.arr12 = n, I.arraycopy(this.arrL, 0, s, 0, Math.min(this.arrL.length, this.l.length)), I.arraycopy(this.arrS, 0, r, 0, Math.min(this.arrS.length, this.s.length)), I.arraycopy(this.arr21, 0, this.psfb21, 0, Math.min(this.arr21.length, this.psfb21.length)), I.arraycopy(this.arr12, 0, this.psfb12, 0, Math.min(this.arr12.length, this.psfb12.length)));
+ 4 == arguments.length && (this.arrL = e, this.arrS = t, this.arr21 = a, this.arr12 = s, $.arraycopy(this.arrL, 0, n, 0, Math.min(this.arrL.length, this.l.length)), $.arraycopy(this.arrS, 0, r, 0, Math.min(this.arrS.length, this.s.length)), $.arraycopy(this.arr21, 0, this.psfb21, 0, Math.min(this.arr21.length, this.psfb21.length)), $.arraycopy(this.arr12, 0, this.psfb12, 0, Math.min(this.arr12.length, this.psfb12.length)));
}
- function T() {
+ function x() {
var l = null,
- b = null,
- n = null;
+ m = null,
+ s = null;
this.setModules = function (e, t, a) {
- l = e, b = t, n = a;
+ l = e, m = t, s = a;
}, this.IPOW20 = function (e) {
- return h[e];
+ return u[e];
};
- var B = 2.220446049250313e-16,
- e = T.IXMAX_VAL,
- f = e + 2,
- c = T.Q_MAX,
- u = T.Q_MAX2,
- s = 100;
+ var T = 2.220446049250313e-16,
+ f = x.IXMAX_VAL + 2,
+ c = x.Q_MAX,
+ h = x.Q_MAX2,
+ n = 100;
this.nr_of_sfb_block = [[[6, 5, 5, 5], [9, 9, 9, 9], [6, 9, 9, 9]], [[6, 5, 7, 3], [9, 9, 12, 6], [6, 9, 12, 6]], [[11, 10, 0, 0], [18, 18, 0, 0], [15, 18, 0, 0]], [[7, 7, 7, 0], [12, 12, 12, 0], [6, 15, 12, 0]], [[6, 6, 6, 3], [12, 9, 9, 6], [6, 12, 9, 6]], [[8, 8, 5, 0], [15, 12, 9, 0], [6, 18, 9, 0]]];
- var M = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 2, 0];
- this.pretab = M, this.sfBandIndex = [new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 24, 32, 42, 56, 74, 100, 132, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 114, 136, 162, 194, 232, 278, 332, 394, 464, 540, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 136, 180, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 52, 62, 74, 90, 110, 134, 162, 196, 238, 288, 342, 418, 576], [0, 4, 8, 12, 16, 22, 30, 40, 52, 66, 84, 106, 136, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 60, 72, 88, 106, 128, 156, 190, 230, 276, 330, 384, 576], [0, 4, 8, 12, 16, 22, 28, 38, 50, 64, 80, 100, 126, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 54, 66, 82, 102, 126, 156, 194, 240, 296, 364, 448, 550, 576], [0, 4, 8, 12, 16, 22, 30, 42, 58, 78, 104, 138, 180, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 12, 24, 36, 48, 60, 72, 88, 108, 132, 160, 192, 232, 280, 336, 400, 476, 566, 568, 570, 572, 574, 576], [0, 8, 16, 24, 36, 52, 72, 96, 124, 160, 162, 164, 166, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0])];
- var y = de(c + u + 1),
- h = de(c),
- p = de(f),
- m = de(f);
+ var w = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 2, 0];
+ this.pretab = w, this.sfBandIndex = [new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 24, 32, 42, 56, 74, 100, 132, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 114, 136, 162, 194, 232, 278, 332, 394, 464, 540, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 136, 180, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 52, 62, 74, 90, 110, 134, 162, 196, 238, 288, 342, 418, 576], [0, 4, 8, 12, 16, 22, 30, 40, 52, 66, 84, 106, 136, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 60, 72, 88, 106, 128, 156, 190, 230, 276, 330, 384, 576], [0, 4, 8, 12, 16, 22, 28, 38, 50, 64, 80, 100, 126, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 54, 66, 82, 102, 126, 156, 194, 240, 296, 364, 448, 550, 576], [0, 4, 8, 12, 16, 22, 30, 42, 58, 78, 104, 138, 180, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 12, 24, 36, 48, 60, 72, 88, 108, 132, 160, 192, 232, 280, 336, 400, 476, 566, 568, 570, 572, 574, 576], [0, 8, 16, 24, 36, 52, 72, 96, 124, 160, 162, 164, 166, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0])];
+ var R = Be(c + h + 1),
+ u = Be(c),
+ p = Be(f),
+ b = Be(f);
function v(e, t) {
- var a = n.ATHformula(t, e);
- return a -= s, a = Math.pow(10, a / 10 + e.ATHlower);
+ var a = s.ATHformula(t, e);
+ return a -= n, a = Math.pow(10, a / 10 + e.ATHlower);
}
function A(e) {
this.s = e;
}
- this.adj43 = m, this.iteration_init = function (e) {
+ this.adj43 = b, this.iteration_init = function (e) {
var t,
a = e.internal_flags,
- n = a.l3_side;
+ s = a.l3_side;
if (0 == a.iteration_init_init) {
- for (a.iteration_init_init = 1, n.main_data_begin = 0, function (e) {
- for (var t = e.internal_flags.ATH.l, a = e.internal_flags.ATH.psfb21, n = e.internal_flags.ATH.s, s = e.internal_flags.ATH.psfb12, r = e.internal_flags, i = e.out_samplerate, o = 0; o < Ae.SBMAX_l; o++) {
+ for (a.iteration_init_init = 1, s.main_data_begin = 0, function (e) {
+ for (var t = e.internal_flags.ATH.l, a = e.internal_flags.ATH.psfb21, s = e.internal_flags.ATH.s, n = e.internal_flags.ATH.psfb12, r = e.internal_flags, i = e.out_samplerate, o = 0; o < Pe.SBMAX_l; o++) {
var _ = r.scalefac_band.l[o],
l = r.scalefac_band.l[o + 1];
- t[o] = D.MAX_VALUE;
+ t[o] = K.MAX_VALUE;
for (var f = _; f < l; f++) {
- var c = f * i / 1152,
- u = v(e, c);
- t[o] = Math.min(t[o], u);
+ var c = v(e, f * i / 1152);
+ t[o] = Math.min(t[o], c);
}
}
- for (var o = 0; o < Ae.PSFB21; o++) {
- var _ = r.scalefac_band.psfb21[o],
- l = r.scalefac_band.psfb21[o + 1];
- a[o] = D.MAX_VALUE;
- for (var f = _; f < l; f++) {
- var c = f * i / 1152,
- u = v(e, c);
- a[o] = Math.min(a[o], u);
- }
+ for (o = 0; o < Pe.PSFB21; o++) for (_ = r.scalefac_band.psfb21[o], l = r.scalefac_band.psfb21[o + 1], a[o] = K.MAX_VALUE, f = _; f < l; f++) c = v(e, f * i / 1152), a[o] = Math.min(a[o], c);
+ for (o = 0; o < Pe.SBMAX_s; o++) {
+ for (_ = r.scalefac_band.s[o], l = r.scalefac_band.s[o + 1], s[o] = K.MAX_VALUE, f = _; f < l; f++) c = v(e, f * i / 384), s[o] = Math.min(s[o], c);
+ s[o] *= r.scalefac_band.s[o + 1] - r.scalefac_band.s[o];
}
- for (var o = 0; o < Ae.SBMAX_s; o++) {
- var _ = r.scalefac_band.s[o],
- l = r.scalefac_band.s[o + 1];
- n[o] = D.MAX_VALUE;
- for (var f = _; f < l; f++) {
- var c = f * i / 384,
- u = v(e, c);
- n[o] = Math.min(n[o], u);
- }
- n[o] *= r.scalefac_band.s[o + 1] - r.scalefac_band.s[o];
+ for (o = 0; o < Pe.PSFB12; o++) {
+ for (_ = r.scalefac_band.psfb12[o], l = r.scalefac_band.psfb12[o + 1], n[o] = K.MAX_VALUE, f = _; f < l; f++) c = v(e, f * i / 384), n[o] = Math.min(n[o], c);
+ n[o] *= r.scalefac_band.s[13] - r.scalefac_band.s[12];
}
- for (var o = 0; o < Ae.PSFB12; o++) {
- var _ = r.scalefac_band.psfb12[o],
- l = r.scalefac_band.psfb12[o + 1];
- s[o] = D.MAX_VALUE;
- for (var f = _; f < l; f++) {
- var c = f * i / 384,
- u = v(e, c);
- s[o] = Math.min(s[o], u);
- }
- s[o] *= r.scalefac_band.s[13] - r.scalefac_band.s[12];
+ if (e.noATH) {
+ for (o = 0; o < Pe.SBMAX_l; o++) t[o] = 1e-20;
+ for (o = 0; o < Pe.PSFB21; o++) a[o] = 1e-20;
+ for (o = 0; o < Pe.SBMAX_s; o++) s[o] = 1e-20;
+ for (o = 0; o < Pe.PSFB12; o++) n[o] = 1e-20;
}
- e.noATH && me(), r.ATH.floor = 10 * d(v(e, -1));
+ r.ATH.floor = 10 * B(v(e, -1));
}(e), p[0] = 0, t = 1; t < f; t++) p[t] = Math.pow(t, 4 / 3);
- for (t = 0; t < f - 1; t++) m[t] = t + 1 - Math.pow(.5 * (p[t] + p[t + 1]), .75);
- for (m[t] = .5, t = 0; t < c; t++) h[t] = Math.pow(2, -.1875 * (t - 210));
- for (t = 0; t <= c + u; t++) y[t] = Math.pow(2, .25 * (t - 210 - u));
- var s, r, i, o;
- for (l.huffman_init(a), 32 <= (t = e.exp_nspsytune >> 2 & 63) && (t -= 64), s = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 8 & 63) && (t -= 64), r = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 14 & 63) && (t -= 64), i = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 20 & 63) && (t -= 64), o = i * Math.pow(10, t / 4 / 10), t = 0; t < Ae.SBMAX_l; t++) _ = t <= 6 ? s : t <= 13 ? r : t <= 20 ? i : o, a.nsPsy.longfact[t] = _;
- for (t = 0; t < Ae.SBMAX_s; t++) {
+ for (t = 0; t < f - 1; t++) b[t] = t + 1 - Math.pow(.5 * (p[t] + p[t + 1]), .75);
+ for (b[t] = .5, t = 0; t < c; t++) u[t] = Math.pow(2, -.1875 * (t - 210));
+ for (t = 0; t <= c + h; t++) R[t] = Math.pow(2, .25 * (t - 210 - h));
+ var n, r, i, o;
+ for (l.huffman_init(a), 32 <= (t = e.exp_nspsytune >> 2 & 63) && (t -= 64), n = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 8 & 63) && (t -= 64), r = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 14 & 63) && (t -= 64), i = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 20 & 63) && (t -= 64), o = i * Math.pow(10, t / 4 / 10), t = 0; t < Pe.SBMAX_l; t++) {
+ _ = t <= 6 ? n : t <= 13 ? r : t <= 20 ? i : o, a.nsPsy.longfact[t] = _;
+ }
+ for (t = 0; t < Pe.SBMAX_s; t++) {
var _;
- _ = t <= 5 ? s : t <= 10 ? r : t <= 11 ? i : o, a.nsPsy.shortfact[t] = _;
+ _ = t <= 5 ? n : t <= 10 ? r : t <= 11 ? i : o, a.nsPsy.shortfact[t] = _;
}
}
- }, this.on_pe = function (e, t, a, n, s, r) {
+ }, this.on_pe = function (e, t, a, s, n, r) {
var i,
o,
_ = e.internal_flags,
l = 0,
- f = ve(2),
- c = new R(l),
- u = b.ResvMaxBits(e, n, c, r),
- h = (l = c.bits) + u;
- for (j.MAX_BITS_PER_GRANULE < h && (h = j.MAX_BITS_PER_GRANULE), o = i = 0; o < _.channels_out; ++o) a[o] = Math.min(j.MAX_BITS_PER_CHANNEL, l / _.channels_out), f[o] = 0 | a[o] * t[s][o] / 700 - a[o], f[o] > 3 * n / 4 && (f[o] = 3 * n / 4), f[o] < 0 && (f[o] = 0), f[o] + a[o] > j.MAX_BITS_PER_CHANNEL && (f[o] = Math.max(0, j.MAX_BITS_PER_CHANNEL - a[o])), i += f[o];
- if (u < i) for (o = 0; o < _.channels_out; ++o) f[o] = u * f[o] / i;
- for (o = 0; o < _.channels_out; ++o) a[o] += f[o], u -= f[o];
+ f = Ae(2),
+ c = new j(l),
+ h = m.ResvMaxBits(e, s, c, r),
+ u = (l = c.bits) + h;
+ for (Z.MAX_BITS_PER_GRANULE < u && (u = Z.MAX_BITS_PER_GRANULE), o = i = 0; o < _.channels_out; ++o) a[o] = Math.min(Z.MAX_BITS_PER_CHANNEL, l / _.channels_out), f[o] = 0 | a[o] * t[n][o] / 700 - a[o], f[o] > 3 * s / 4 && (f[o] = 3 * s / 4), f[o] < 0 && (f[o] = 0), f[o] + a[o] > Z.MAX_BITS_PER_CHANNEL && (f[o] = Math.max(0, Z.MAX_BITS_PER_CHANNEL - a[o])), i += f[o];
+ if (h < i) for (o = 0; o < _.channels_out; ++o) f[o] = h * f[o] / i;
+ for (o = 0; o < _.channels_out; ++o) a[o] += f[o], h -= f[o];
for (o = i = 0; o < _.channels_out; ++o) i += a[o];
- return j.MAX_BITS_PER_GRANULE < i && me(), h;
+ if (Z.MAX_BITS_PER_GRANULE < i) {
+ for (o = 0; o < _.channels_out; ++o) a[o] *= Z.MAX_BITS_PER_GRANULE, a[o] /= i, a[o];
+ }
+ return u;
+ }, this.reduce_side = function (e, t, a, s) {
+ var n = .33 * (.5 - t) / .5;
+ n < 0 && (n = 0), .5 < n && (n = .5);
+ var r = 0 | .5 * n * (e[0] + e[1]);
+ r > Z.MAX_BITS_PER_CHANNEL - e[0] && (r = Z.MAX_BITS_PER_CHANNEL - e[0]), r < 0 && (r = 0), 125 <= e[1] && (125 < e[1] - r ? (e[0] < a && (e[0] += r), e[1] -= r) : (e[0] += e[1] - 125, e[1] = 125)), s < (r = e[0] + e[1]) && (e[0] = s * e[0] / r, e[1] = s * e[1] / r);
}, this.athAdjust = function (e, t, a) {
- var n = 90.30873362,
- s = V.FAST_LOG10_X(t, 10),
+ var s = 90.30873362,
+ n = ee.FAST_LOG10_X(t, 10),
r = e * e,
i = 0;
- return s -= a, 1e-20 < r && (i = 1 + V.FAST_LOG10_X(r, 10 / n)), i < 0 && (i = 0), s *= i, s += a + n - 94.82444863, Math.pow(10, .1 * s);
- }, this.calc_xmin = function (e, t, a, n) {
- var s,
+ return n -= a, 1e-20 < r && (i = 1 + ee.FAST_LOG10_X(r, 10 / s)), i < 0 && (i = 0), n *= i, n += a + s - 94.82444863, Math.pow(10, .1 * n);
+ }, this.calc_xmin = function (e, t, a, s) {
+ var n,
r = 0,
i = e.internal_flags,
o = 0,
_ = 0,
l = i.ATH,
f = a.xr,
- c = e.VBR == Me.vbr_mtrh ? 1 : 0,
- u = i.masking_lower;
- for (e.VBR != Me.vbr_mtrh && e.VBR != Me.vbr_mt || (u = 1), s = 0; s < a.psy_lmax; s++) {
- for (w = e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? athAdjust(l.adjust, l.l[s], l.floor) : l.adjust * l.l[s], v = a.width[s], S = w / v, M = B, A = v >> 1, y = 0; k = f[o] * f[o], y += k, M += k < S ? k : S, R = f[++o] * f[o], y += R, M += R < S ? R : S, o++, 0 < --A;);
- if (w < y && _++, s == Ae.SBPSY_l && me(), 0 != c && (w = M), !e.ATHonly) {
- var h = t.en.l[s];
- 0 < h && (x = y * t.thm.l[s] * u / h, 0 != c && (x *= i.nsPsy.longfact[s]), w < x && (w = x));
- }
- n[r++] = 0 != c ? w : w * i.nsPsy.longfact[s];
+ c = e.VBR == xe.vbr_mtrh ? 1 : 0,
+ h = i.masking_lower;
+ for (e.VBR != xe.vbr_mtrh && e.VBR != xe.vbr_mt || (h = 1), n = 0; n < a.psy_lmax; n++) {
+ S = (g = e.VBR == xe.vbr_rh || e.VBR == xe.vbr_mtrh ? athAdjust(l.adjust, l.l[n], l.floor) : l.adjust * l.l[n]) / (b = a.width[n]), M = T, B = b >> 1, A = 0;
+ do {
+ A += k = f[o] * f[o], M += k < S ? k : S, A += y = f[++o] * f[o], M += y < S ? y : S, o++;
+ } while (0 < --B);
+ if (g < A && _++, n == Pe.SBPSY_l) M < (R = g * i.nsPsy.longfact[n]) && (M = R);
+ if (0 != c && (g = M), !e.ATHonly) if (0 < (w = t.en.l[n])) R = A * t.thm.l[n] * h / w, 0 != c && (R *= i.nsPsy.longfact[n]), g < R && (g = R);
+ s[r++] = 0 != c ? g : g * i.nsPsy.longfact[n];
}
- var b = 575;
- if (a.block_type != Ae.SHORT_TYPE) for (var p = 576; 0 != p-- && N.EQ(f[p], 0);) b = p;
- a.max_nonzero_coeff = b;
- for (var m = a.sfb_smin; s < a.psymax; m++, s += 3) {
- var v, d, g;
- for (g = e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? athAdjust(l.adjust, l.s[m], l.floor) : l.adjust * l.s[m], v = a.width[s], d = 0; d < 3; d++) {
- var w,
+ var u = 575;
+ if (a.block_type != Pe.SHORT_TYPE) for (var m = 576; 0 != m-- && q.EQ(f[m], 0);) u = m;
+ a.max_nonzero_coeff = u;
+ for (var p = a.sfb_smin; n < a.psymax; p++, n += 3) {
+ var b, v, d;
+ for (d = e.VBR == xe.vbr_rh || e.VBR == xe.vbr_mtrh ? athAdjust(l.adjust, l.s[p], l.floor) : l.adjust * l.s[p], b = a.width[n], v = 0; v < 3; v++) {
+ var g,
S,
M,
- y = 0,
- A = v >> 1;
- S = g / v, M = B;
+ w,
+ R,
+ A = 0,
+ B = b >> 1;
+ S = d / b, M = T;
do {
- var k, R;
- k = f[o] * f[o], y += k, M += k < S ? k : S, R = f[++o] * f[o], y += R, M += R < S ? R : S, o++;
- } while (0 < --A);
- if (g < y && _++, m == Ae.SBPSY_s && me(), w = 0 != c ? M : g, !e.ATHonly && !e.ATHshort) {
- var x,
- h = t.en.s[m][d];
- 0 < h && (x = y * t.thm.s[m][d] * u / h, 0 != c && (x *= i.nsPsy.shortfact[m]), w < x && (w = x));
- }
- n[r++] = 0 != c ? w : w * i.nsPsy.shortfact[m];
+ var k, y;
+ A += k = f[o] * f[o], M += k < S ? k : S, A += y = f[++o] * f[o], M += y < S ? y : S, o++;
+ } while (0 < --B);
+ if (d < A && _++, p == Pe.SBPSY_s) M < (R = d * i.nsPsy.shortfact[p]) && (M = R);
+ if (g = 0 != c ? M : d, !e.ATHonly && !e.ATHshort) if (0 < (w = t.en.s[p][v])) R = A * t.thm.s[p][v] * h / w, 0 != c && (R *= i.nsPsy.shortfact[p]), g < R && (g = R);
+ s[r++] = 0 != c ? g : g * i.nsPsy.shortfact[p];
}
- e.useTemporal && (n[r - 3] > n[r - 3 + 1] && (n[r - 3 + 1] += (n[r - 3] - n[r - 3 + 1]) * i.decay), n[r - 3 + 1] > n[r - 3 + 2] && (n[r - 3 + 2] += (n[r - 3 + 1] - n[r - 3 + 2]) * i.decay));
+ e.useTemporal && (s[r - 3] > s[r - 3 + 1] && (s[r - 3 + 1] += (s[r - 3] - s[r - 3 + 1]) * i.decay), s[r - 3 + 1] > s[r - 3 + 2] && (s[r - 3 + 2] += (s[r - 3 + 1] - s[r - 3 + 2]) * i.decay));
}
return _;
- }, this.calc_noise_core = function (e, t, a, n) {
- var s = 0,
+ }, this.calc_noise_core = function (e, t, a, s) {
+ var n = 0,
r = t.s,
i = e.l3_enc;
- if (r > e.count1) for (; 0 != a--;) _ = e.xr[r], r++, s += _ * _, _ = e.xr[r], r++, s += _ * _;else if (r > e.big_values) {
- var o = de(2);
- for (o[0] = 0, o[1] = n; 0 != a--;) _ = Math.abs(e.xr[r]) - o[i[r]], r++, s += _ * _, _ = Math.abs(e.xr[r]) - o[i[r]], r++, s += _ * _;
+ if (r > e.count1) for (; 0 != a--;) {
+ _ = e.xr[r], r++, n += _ * _, _ = e.xr[r], r++, n += _ * _;
+ } else if (r > e.big_values) {
+ var o = Be(2);
+ for (o[0] = 0, o[1] = s; 0 != a--;) {
+ _ = Math.abs(e.xr[r]) - o[i[r]], r++, n += _ * _, _ = Math.abs(e.xr[r]) - o[i[r]], r++, n += _ * _;
+ }
} else for (; 0 != a--;) {
var _;
- _ = Math.abs(e.xr[r]) - p[i[r]] * n, r++, s += _ * _, _ = Math.abs(e.xr[r]) - p[i[r]] * n, r++, s += _ * _;
+ _ = Math.abs(e.xr[r]) - p[i[r]] * s, r++, n += _ * _, _ = Math.abs(e.xr[r]) - p[i[r]] * s, r++, n += _ * _;
}
- return t.s = r, s;
- }, this.calc_noise = function (e, t, a, n, s) {
+ return t.s = r, n;
+ }, this.calc_noise = function (e, t, a, s, n) {
var r,
i,
o = 0,
@@ -14136,54 +13802,83 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
l = 0,
f = 0,
c = 0,
- u = -20,
- h = 0,
- b = e.scalefac,
+ h = -20,
+ u = 0,
+ m = e.scalefac,
p = 0;
- for (n.over_SSD = 0, r = 0; r < e.psymax; r++) {
- var m,
- v = e.global_gain - (b[p++] + (0 != e.preflag ? M[r] : 0) << e.scalefac_scale + 1) - 8 * e.subblock_gain[e.window[r]],
+ for (r = s.over_SSD = 0; r < e.psymax; r++) {
+ var b,
+ v = e.global_gain - (m[p++] + (0 != e.preflag ? w[r] : 0) << e.scalefac_scale + 1) - 8 * e.subblock_gain[e.window[r]],
d = 0;
- if (null != s && s.step[r] == v) d = s.noise[r], h += e.width[r], a[o++] = d / t[_++], d = s.noise_log[r];else {
+ if (null != n && n.step[r] == v) d = n.noise[r], u += e.width[r], a[o++] = d / t[_++], d = n.noise_log[r];else {
var g,
- w = y[v + T.Q_MAX2];
- i = e.width[r] >> 1, h + e.width[r] > e.max_nonzero_coeff && (g = e.max_nonzero_coeff - h + 1, i = 0 < g ? g >> 1 : 0);
- var S = new A(h);
- d = this.calc_noise_core(e, S, i, w), h = S.s, null != s && (s.step[r] = v, s.noise[r] = d), d = a[o++] = d / t[_++], d = V.FAST_LOG10(Math.max(d, 1e-20)), null != s && (s.noise_log[r] = d);
+ S = R[v + x.Q_MAX2];
+ if (i = e.width[r] >> 1, u + e.width[r] > e.max_nonzero_coeff) i = 0 < (g = e.max_nonzero_coeff - u + 1) ? g >> 1 : 0;
+ var M = new A(u);
+ d = this.calc_noise_core(e, M, i, S), u = M.s, null != n && (n.step[r] = v, n.noise[r] = d), d = a[o++] = d / t[_++], d = ee.FAST_LOG10(Math.max(d, 1e-20)), null != n && (n.noise_log[r] = d);
}
- null != s && (s.global_gain = e.global_gain), c += d, 0 < d && (m = Math.max(0 | 10 * d + .5, 1), n.over_SSD += m * m, l++, f += d), u = Math.max(u, d);
+ if (null != n && (n.global_gain = e.global_gain), c += d, 0 < d) b = Math.max(0 | 10 * d + .5, 1), s.over_SSD += b * b, l++, f += d;
+ h = Math.max(h, d);
}
- return n.over_count = l, n.tot_noise = c, n.over_noise = f, n.max_noise = u, l;
+ return s.over_count = l, s.tot_noise = c, s.over_noise = f, s.max_noise = h, l;
+ }, this.set_pinfo = function (e, t, a, s, n) {
+ var r,
+ i,
+ o,
+ _,
+ l,
+ f = e.internal_flags,
+ c = 0 == t.scalefac_scale ? .5 : 1,
+ h = t.scalefac,
+ u = Be(z.SFBMAX),
+ m = Be(z.SFBMAX),
+ p = new y();
+ calc_xmin(e, a, t, u), calc_noise(t, u, m, p, null);
+ var b = 0;
+ for (i = t.sfb_lmax, t.block_type != Pe.SHORT_TYPE && 0 == t.mixed_block_flag && (i = 22), r = 0; r < i; r++) {
+ var v = f.scalefac_band.l[r],
+ d = (g = f.scalefac_band.l[r + 1]) - v;
+ for (_ = 0; b < g; b++) _ += t.xr[b] * t.xr[b];
+ _ /= d, l = 1e15, f.pinfo.en[s][n][r] = l * _, f.pinfo.xfsf[s][n][r] = l * u[r] * m[r] / d, 0 < a.en.l[r] && !e.ATHonly ? _ /= a.en.l[r] : _ = 0, f.pinfo.thr[s][n][r] = l * Math.max(_ * a.thm.l[r], f.ATH.l[r]), (f.pinfo.LAMEsfb[s][n][r] = 0) != t.preflag && 11 <= r && (f.pinfo.LAMEsfb[s][n][r] = -c * w[r]), r < Pe.SBPSY_l && (f.pinfo.LAMEsfb[s][n][r] -= c * h[r]);
+ }
+ if (t.block_type == Pe.SHORT_TYPE) for (i = r, r = t.sfb_smin; r < Pe.SBMAX_s; r++) {
+ v = f.scalefac_band.s[r], d = (g = f.scalefac_band.s[r + 1]) - v;
+ for (var g, S = 0; S < 3; S++) {
+ for (_ = 0, o = v; o < g; o++) _ += t.xr[b] * t.xr[b], b++;
+ _ = Math.max(_ / d, 1e-20), l = 1e15, f.pinfo.en_s[s][n][3 * r + S] = l * _, f.pinfo.xfsf_s[s][n][3 * r + S] = l * u[i] * m[i] / d, 0 < a.en.s[r][S] ? _ /= a.en.s[r][S] : _ = 0, (e.ATHonly || e.ATHshort) && (_ = 0), f.pinfo.thr_s[s][n][3 * r + S] = l * Math.max(_ * a.thm.s[r][S], f.ATH.s[r]), f.pinfo.LAMEsfb_s[s][n][3 * r + S] = -2 * t.subblock_gain[S], r < Pe.SBPSY_s && (f.pinfo.LAMEsfb_s[s][n][3 * r + S] -= c * h[i]), i++;
+ }
+ }
+ f.pinfo.LAMEqss[s][n] = t.global_gain, f.pinfo.LAMEmainbits[s][n] = t.part2_3_length + t.part2_length, f.pinfo.LAMEsfbits[s][n] = t.part2_length, f.pinfo.over[s][n] = p.over_count, f.pinfo.max_noise[s][n] = 10 * p.max_noise, f.pinfo.over_noise[s][n] = 10 * p.over_noise, f.pinfo.tot_noise[s][n] = 10 * p.tot_noise, f.pinfo.over_SSD[s][n] = p.over_SSD;
};
}
- function B() {
- this.xr = de(576), this.l3_enc = ve(576), this.scalefac = ve(F.SFBMAX), this.xrpow_max = 0, this.part2_3_length = 0, this.big_values = 0, this.count1 = 0, this.global_gain = 0, this.scalefac_compress = 0, this.block_type = 0, this.mixed_block_flag = 0, this.table_select = ve(3), this.subblock_gain = ve(4), this.region0_count = 0, this.region1_count = 0, this.preflag = 0, this.scalefac_scale = 0, this.count1table_select = 0, this.part2_length = 0, this.sfb_lmax = 0, this.sfb_smin = 0, this.psy_lmax = 0, this.sfbmax = 0, this.psymax = 0, this.sfbdivide = 0, this.width = ve(F.SFBMAX), this.window = ve(F.SFBMAX), this.count1bits = 0, this.sfb_partition_table = null, this.slen = ve(4), this.max_nonzero_coeff = 0;
+ function T() {
+ this.xr = Be(576), this.l3_enc = Ae(576), this.scalefac = Ae(z.SFBMAX), this.xrpow_max = 0, this.part2_3_length = 0, this.big_values = 0, this.count1 = 0, this.global_gain = 0, this.scalefac_compress = 0, this.block_type = 0, this.mixed_block_flag = 0, this.table_select = Ae(3), this.subblock_gain = Ae(4), this.region0_count = 0, this.region1_count = 0, this.preflag = 0, this.scalefac_scale = 0, this.count1table_select = 0, this.part2_length = 0, this.sfb_lmax = 0, this.sfb_smin = 0, this.psy_lmax = 0, this.sfbmax = 0, this.psymax = 0, this.sfbdivide = 0, this.width = Ae(z.SFBMAX), this.window = Ae(z.SFBMAX), this.count1bits = 0, this.sfb_partition_table = null, this.slen = Ae(4), this.max_nonzero_coeff = 0;
var a = this;
- function n(e) {
+ function s(e) {
return new Int32Array(e);
}
this.assign = function (e) {
var t;
- a.xr = (t = e.xr, new Float32Array(t)), a.l3_enc = n(e.l3_enc), a.scalefac = n(e.scalefac), a.xrpow_max = e.xrpow_max, a.part2_3_length = e.part2_3_length, a.big_values = e.big_values, a.count1 = e.count1, a.global_gain = e.global_gain, a.scalefac_compress = e.scalefac_compress, a.block_type = e.block_type, a.mixed_block_flag = e.mixed_block_flag, a.table_select = n(e.table_select), a.subblock_gain = n(e.subblock_gain), a.region0_count = e.region0_count, a.region1_count = e.region1_count, a.preflag = e.preflag, a.scalefac_scale = e.scalefac_scale, a.count1table_select = e.count1table_select, a.part2_length = e.part2_length, a.sfb_lmax = e.sfb_lmax, a.sfb_smin = e.sfb_smin, a.psy_lmax = e.psy_lmax, a.sfbmax = e.sfbmax, a.psymax = e.psymax, a.sfbdivide = e.sfbdivide, a.width = n(e.width), a.window = n(e.window), a.count1bits = e.count1bits, a.sfb_partition_table = e.sfb_partition_table.slice(0), a.slen = n(e.slen), a.max_nonzero_coeff = e.max_nonzero_coeff;
+ a.xr = (t = e.xr, new Float32Array(t)), a.l3_enc = s(e.l3_enc), a.scalefac = s(e.scalefac), a.xrpow_max = e.xrpow_max, a.part2_3_length = e.part2_3_length, a.big_values = e.big_values, a.count1 = e.count1, a.global_gain = e.global_gain, a.scalefac_compress = e.scalefac_compress, a.block_type = e.block_type, a.mixed_block_flag = e.mixed_block_flag, a.table_select = s(e.table_select), a.subblock_gain = s(e.subblock_gain), a.region0_count = e.region0_count, a.region1_count = e.region1_count, a.preflag = e.preflag, a.scalefac_scale = e.scalefac_scale, a.count1table_select = e.count1table_select, a.part2_length = e.part2_length, a.sfb_lmax = e.sfb_lmax, a.sfb_smin = e.sfb_smin, a.psy_lmax = e.psy_lmax, a.sfbmax = e.sfbmax, a.psymax = e.psymax, a.sfbdivide = e.sfbdivide, a.width = s(e.width), a.window = s(e.window), a.count1bits = e.count1bits, a.sfb_partition_table = e.sfb_partition_table.slice(0), a.slen = s(e.slen), a.max_nonzero_coeff = e.max_nonzero_coeff;
};
}
- k.t1HB = [1, 1, 1, 0], k.t2HB = [1, 2, 1, 3, 1, 1, 3, 2, 0], k.t3HB = [3, 2, 1, 1, 1, 1, 3, 2, 0], k.t5HB = [1, 2, 6, 5, 3, 1, 4, 4, 7, 5, 7, 1, 6, 1, 1, 0], k.t6HB = [7, 3, 5, 1, 6, 2, 3, 2, 5, 4, 4, 1, 3, 3, 2, 0], k.t7HB = [1, 2, 10, 19, 16, 10, 3, 3, 7, 10, 5, 3, 11, 4, 13, 17, 8, 4, 12, 11, 18, 15, 11, 2, 7, 6, 9, 14, 3, 1, 6, 4, 5, 3, 2, 0], k.t8HB = [3, 4, 6, 18, 12, 5, 5, 1, 2, 16, 9, 3, 7, 3, 5, 14, 7, 3, 19, 17, 15, 13, 10, 4, 13, 5, 8, 11, 5, 1, 12, 4, 4, 1, 1, 0], k.t9HB = [7, 5, 9, 14, 15, 7, 6, 4, 5, 5, 6, 7, 7, 6, 8, 8, 8, 5, 15, 6, 9, 10, 5, 1, 11, 7, 9, 6, 4, 1, 14, 4, 6, 2, 6, 0], k.t10HB = [1, 2, 10, 23, 35, 30, 12, 17, 3, 3, 8, 12, 18, 21, 12, 7, 11, 9, 15, 21, 32, 40, 19, 6, 14, 13, 22, 34, 46, 23, 18, 7, 20, 19, 33, 47, 27, 22, 9, 3, 31, 22, 41, 26, 21, 20, 5, 3, 14, 13, 10, 11, 16, 6, 5, 1, 9, 8, 7, 8, 4, 4, 2, 0], k.t11HB = [3, 4, 10, 24, 34, 33, 21, 15, 5, 3, 4, 10, 32, 17, 11, 10, 11, 7, 13, 18, 30, 31, 20, 5, 25, 11, 19, 59, 27, 18, 12, 5, 35, 33, 31, 58, 30, 16, 7, 5, 28, 26, 32, 19, 17, 15, 8, 14, 14, 12, 9, 13, 14, 9, 4, 1, 11, 4, 6, 6, 6, 3, 2, 0], k.t12HB = [9, 6, 16, 33, 41, 39, 38, 26, 7, 5, 6, 9, 23, 16, 26, 11, 17, 7, 11, 14, 21, 30, 10, 7, 17, 10, 15, 12, 18, 28, 14, 5, 32, 13, 22, 19, 18, 16, 9, 5, 40, 17, 31, 29, 17, 13, 4, 2, 27, 12, 11, 15, 10, 7, 4, 1, 27, 12, 8, 12, 6, 3, 1, 0], k.t13HB = [1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19, 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14, 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16, 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14, 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24, 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17, 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15, 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42, 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16, 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11, 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22, 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7, 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5, 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3, 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2, 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1], k.t15HB = [7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63, 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36, 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33, 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29, 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27, 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38, 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30, 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25, 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20, 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15, 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9, 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11, 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7, 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3, 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1, 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0], k.t16HB = [1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17, 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9, 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16, 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26, 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9, 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16, 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10, 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8, 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7, 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11, 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4, 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6, 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4, 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2, 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0, 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3], k.t24HB = [15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88, 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42, 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18, 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16, 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14, 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12, 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10, 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17, 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16, 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11, 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10, 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6, 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4, 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2, 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0, 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3], k.t32HB = [1, 10, 8, 20, 12, 20, 16, 32, 14, 12, 24, 0, 28, 16, 24, 16], k.t33HB = [15, 28, 26, 48, 22, 40, 36, 64, 14, 24, 20, 32, 12, 16, 8, 0], k.t1l = [1, 4, 3, 5], k.t2l = [1, 4, 7, 4, 5, 7, 6, 7, 8], k.t3l = [2, 3, 7, 4, 4, 7, 6, 7, 8], k.t5l = [1, 4, 7, 8, 4, 5, 8, 9, 7, 8, 9, 10, 8, 8, 9, 10], k.t6l = [3, 4, 6, 8, 4, 4, 6, 7, 5, 6, 7, 8, 7, 7, 8, 9], k.t7l = [1, 4, 7, 9, 9, 10, 4, 6, 8, 9, 9, 10, 7, 7, 9, 10, 10, 11, 8, 9, 10, 11, 11, 11, 8, 9, 10, 11, 11, 12, 9, 10, 11, 12, 12, 12], k.t8l = [2, 4, 7, 9, 9, 10, 4, 4, 6, 10, 10, 10, 7, 6, 8, 10, 10, 11, 9, 10, 10, 11, 11, 12, 9, 9, 10, 11, 12, 12, 10, 10, 11, 11, 13, 13], k.t9l = [3, 4, 6, 7, 9, 10, 4, 5, 6, 7, 8, 10, 5, 6, 7, 8, 9, 10, 7, 7, 8, 9, 9, 10, 8, 8, 9, 9, 10, 11, 9, 9, 10, 10, 11, 11], k.t10l = [1, 4, 7, 9, 10, 10, 10, 11, 4, 6, 8, 9, 10, 11, 10, 10, 7, 8, 9, 10, 11, 12, 11, 11, 8, 9, 10, 11, 12, 12, 11, 12, 9, 10, 11, 12, 12, 12, 12, 12, 10, 11, 12, 12, 13, 13, 12, 13, 9, 10, 11, 12, 12, 12, 13, 13, 10, 10, 11, 12, 12, 13, 13, 13], k.t11l = [2, 4, 6, 8, 9, 10, 9, 10, 4, 5, 6, 8, 10, 10, 9, 10, 6, 7, 8, 9, 10, 11, 10, 10, 8, 8, 9, 11, 10, 12, 10, 11, 9, 10, 10, 11, 11, 12, 11, 12, 9, 10, 11, 12, 12, 13, 12, 13, 9, 9, 9, 10, 11, 12, 12, 12, 9, 9, 10, 11, 12, 12, 12, 12], k.t12l = [4, 4, 6, 8, 9, 10, 10, 10, 4, 5, 6, 7, 9, 9, 10, 10, 6, 6, 7, 8, 9, 10, 9, 10, 7, 7, 8, 8, 9, 10, 10, 10, 8, 8, 9, 9, 10, 10, 10, 11, 9, 9, 10, 10, 10, 11, 10, 11, 9, 9, 9, 10, 10, 11, 11, 12, 10, 10, 10, 11, 11, 11, 11, 12], k.t13l = [1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14, 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14, 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15, 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15, 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16, 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16, 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16, 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18, 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17, 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17, 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19, 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18, 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18, 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18, 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18, 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18], k.t15l = [3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14, 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14, 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15], k.t16_5l = [1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11, 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11, 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12, 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12, 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13, 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13, 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14, 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13, 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14, 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14, 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14, 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14, 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12], k.t16l = [1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10, 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10, 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11, 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11, 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12, 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12, 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13, 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12, 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13, 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13, 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10], k.t24l = [4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10, 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10, 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9, 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9, 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10, 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10, 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10, 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6], k.t32l = [1, 5, 5, 7, 5, 8, 7, 9, 5, 7, 7, 9, 7, 9, 9, 10], k.t33l = [4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8], k.ht = [new e(0, 0, null, null), new e(2, 0, k.t1HB, k.t1l), new e(3, 0, k.t2HB, k.t2l), new e(3, 0, k.t3HB, k.t3l), new e(0, 0, null, null), new e(4, 0, k.t5HB, k.t5l), new e(4, 0, k.t6HB, k.t6l), new e(6, 0, k.t7HB, k.t7l), new e(6, 0, k.t8HB, k.t8l), new e(6, 0, k.t9HB, k.t9l), new e(8, 0, k.t10HB, k.t10l), new e(8, 0, k.t11HB, k.t11l), new e(8, 0, k.t12HB, k.t12l), new e(16, 0, k.t13HB, k.t13l), new e(0, 0, null, k.t16_5l), new e(16, 0, k.t15HB, k.t15l), new e(1, 1, k.t16HB, k.t16l), new e(2, 3, k.t16HB, k.t16l), new e(3, 7, k.t16HB, k.t16l), new e(4, 15, k.t16HB, k.t16l), new e(6, 63, k.t16HB, k.t16l), new e(8, 255, k.t16HB, k.t16l), new e(10, 1023, k.t16HB, k.t16l), new e(13, 8191, k.t16HB, k.t16l), new e(4, 15, k.t24HB, k.t24l), new e(5, 31, k.t24HB, k.t24l), new e(6, 63, k.t24HB, k.t24l), new e(7, 127, k.t24HB, k.t24l), new e(8, 255, k.t24HB, k.t24l), new e(9, 511, k.t24HB, k.t24l), new e(11, 2047, k.t24HB, k.t24l), new e(13, 8191, k.t24HB, k.t24l), new e(0, 0, k.t32HB, k.t32l), new e(0, 0, k.t33HB, k.t33l)], k.largetbl = [65540, 327685, 458759, 589832, 655369, 655370, 720906, 720907, 786443, 786444, 786444, 851980, 851980, 851980, 917517, 655370, 262149, 393222, 524295, 589832, 655369, 720906, 720906, 720907, 786443, 786443, 786444, 851980, 917516, 851980, 917516, 655370, 458759, 524295, 589832, 655369, 720905, 720906, 786442, 786443, 851979, 786443, 851979, 851980, 851980, 917516, 917517, 720905, 589832, 589832, 655369, 720905, 720906, 786442, 786442, 786443, 851979, 851979, 917515, 917516, 917516, 983052, 983052, 786441, 655369, 655369, 720905, 720906, 786442, 786442, 851978, 851979, 851979, 917515, 917516, 917516, 983052, 983052, 983053, 720905, 655370, 655369, 720906, 720906, 786442, 851978, 851979, 917515, 851979, 917515, 917516, 983052, 983052, 983052, 1048588, 786441, 720906, 720906, 720906, 786442, 851978, 851979, 851979, 851979, 917515, 917516, 917516, 917516, 983052, 983052, 1048589, 786441, 720907, 720906, 786442, 786442, 851979, 851979, 851979, 917515, 917516, 983052, 983052, 983052, 983052, 1114125, 1114125, 786442, 720907, 786443, 786443, 851979, 851979, 851979, 917515, 917515, 983051, 983052, 983052, 983052, 1048588, 1048589, 1048589, 786442, 786443, 786443, 786443, 851979, 851979, 917515, 917515, 983052, 983052, 983052, 983052, 1048588, 983053, 1048589, 983053, 851978, 786444, 851979, 786443, 851979, 917515, 917516, 917516, 917516, 983052, 1048588, 1048588, 1048589, 1114125, 1114125, 1048589, 786442, 851980, 851980, 851979, 851979, 917515, 917516, 983052, 1048588, 1048588, 1048588, 1048588, 1048589, 1048589, 983053, 1048589, 851978, 851980, 917516, 917516, 917516, 917516, 983052, 983052, 983052, 983052, 1114124, 1048589, 1048589, 1048589, 1048589, 1179661, 851978, 983052, 917516, 917516, 917516, 983052, 983052, 1048588, 1048588, 1048589, 1179661, 1114125, 1114125, 1114125, 1245197, 1114125, 851978, 917517, 983052, 851980, 917516, 1048588, 1048588, 983052, 1048589, 1048589, 1114125, 1179661, 1114125, 1245197, 1114125, 1048589, 851978, 655369, 655369, 655369, 720905, 720905, 786441, 786441, 786441, 851977, 851977, 851977, 851978, 851978, 851978, 851978, 655366], k.table23 = [65538, 262147, 458759, 262148, 327684, 458759, 393222, 458759, 524296], k.table56 = [65539, 262148, 458758, 524296, 262148, 327684, 524294, 589831, 458757, 524294, 589831, 655368, 524295, 524295, 589832, 655369], k.bitrate_table = [[0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1]], k.samplerate_table = [[22050, 24e3, 16e3, -1], [44100, 48e3, 32e3, -1], [11025, 12e3, 8e3, -1]], k.scfsi_band = [0, 6, 11, 16, 21], T.Q_MAX = 257, T.Q_MAX2 = 116, T.LARGE_BITS = 1e5, T.IXMAX_VAL = 8206;
- var F = {};
- function C() {
- var r, g;
+ F.t1HB = [1, 1, 1, 0], F.t2HB = [1, 2, 1, 3, 1, 1, 3, 2, 0], F.t3HB = [3, 2, 1, 1, 1, 1, 3, 2, 0], F.t5HB = [1, 2, 6, 5, 3, 1, 4, 4, 7, 5, 7, 1, 6, 1, 1, 0], F.t6HB = [7, 3, 5, 1, 6, 2, 3, 2, 5, 4, 4, 1, 3, 3, 2, 0], F.t7HB = [1, 2, 10, 19, 16, 10, 3, 3, 7, 10, 5, 3, 11, 4, 13, 17, 8, 4, 12, 11, 18, 15, 11, 2, 7, 6, 9, 14, 3, 1, 6, 4, 5, 3, 2, 0], F.t8HB = [3, 4, 6, 18, 12, 5, 5, 1, 2, 16, 9, 3, 7, 3, 5, 14, 7, 3, 19, 17, 15, 13, 10, 4, 13, 5, 8, 11, 5, 1, 12, 4, 4, 1, 1, 0], F.t9HB = [7, 5, 9, 14, 15, 7, 6, 4, 5, 5, 6, 7, 7, 6, 8, 8, 8, 5, 15, 6, 9, 10, 5, 1, 11, 7, 9, 6, 4, 1, 14, 4, 6, 2, 6, 0], F.t10HB = [1, 2, 10, 23, 35, 30, 12, 17, 3, 3, 8, 12, 18, 21, 12, 7, 11, 9, 15, 21, 32, 40, 19, 6, 14, 13, 22, 34, 46, 23, 18, 7, 20, 19, 33, 47, 27, 22, 9, 3, 31, 22, 41, 26, 21, 20, 5, 3, 14, 13, 10, 11, 16, 6, 5, 1, 9, 8, 7, 8, 4, 4, 2, 0], F.t11HB = [3, 4, 10, 24, 34, 33, 21, 15, 5, 3, 4, 10, 32, 17, 11, 10, 11, 7, 13, 18, 30, 31, 20, 5, 25, 11, 19, 59, 27, 18, 12, 5, 35, 33, 31, 58, 30, 16, 7, 5, 28, 26, 32, 19, 17, 15, 8, 14, 14, 12, 9, 13, 14, 9, 4, 1, 11, 4, 6, 6, 6, 3, 2, 0], F.t12HB = [9, 6, 16, 33, 41, 39, 38, 26, 7, 5, 6, 9, 23, 16, 26, 11, 17, 7, 11, 14, 21, 30, 10, 7, 17, 10, 15, 12, 18, 28, 14, 5, 32, 13, 22, 19, 18, 16, 9, 5, 40, 17, 31, 29, 17, 13, 4, 2, 27, 12, 11, 15, 10, 7, 4, 1, 27, 12, 8, 12, 6, 3, 1, 0], F.t13HB = [1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19, 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14, 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16, 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14, 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24, 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17, 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15, 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42, 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16, 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11, 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22, 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7, 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5, 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3, 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2, 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1], F.t15HB = [7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63, 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36, 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33, 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29, 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27, 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38, 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30, 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25, 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20, 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15, 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9, 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11, 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7, 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3, 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1, 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0], F.t16HB = [1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17, 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9, 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16, 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26, 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9, 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16, 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10, 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8, 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7, 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11, 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4, 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6, 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4, 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2, 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0, 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3], F.t24HB = [15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88, 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42, 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18, 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16, 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14, 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12, 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10, 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17, 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16, 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11, 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10, 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6, 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4, 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2, 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0, 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3], F.t32HB = [1, 10, 8, 20, 12, 20, 16, 32, 14, 12, 24, 0, 28, 16, 24, 16], F.t33HB = [15, 28, 26, 48, 22, 40, 36, 64, 14, 24, 20, 32, 12, 16, 8, 0], F.t1l = [1, 4, 3, 5], F.t2l = [1, 4, 7, 4, 5, 7, 6, 7, 8], F.t3l = [2, 3, 7, 4, 4, 7, 6, 7, 8], F.t5l = [1, 4, 7, 8, 4, 5, 8, 9, 7, 8, 9, 10, 8, 8, 9, 10], F.t6l = [3, 4, 6, 8, 4, 4, 6, 7, 5, 6, 7, 8, 7, 7, 8, 9], F.t7l = [1, 4, 7, 9, 9, 10, 4, 6, 8, 9, 9, 10, 7, 7, 9, 10, 10, 11, 8, 9, 10, 11, 11, 11, 8, 9, 10, 11, 11, 12, 9, 10, 11, 12, 12, 12], F.t8l = [2, 4, 7, 9, 9, 10, 4, 4, 6, 10, 10, 10, 7, 6, 8, 10, 10, 11, 9, 10, 10, 11, 11, 12, 9, 9, 10, 11, 12, 12, 10, 10, 11, 11, 13, 13], F.t9l = [3, 4, 6, 7, 9, 10, 4, 5, 6, 7, 8, 10, 5, 6, 7, 8, 9, 10, 7, 7, 8, 9, 9, 10, 8, 8, 9, 9, 10, 11, 9, 9, 10, 10, 11, 11], F.t10l = [1, 4, 7, 9, 10, 10, 10, 11, 4, 6, 8, 9, 10, 11, 10, 10, 7, 8, 9, 10, 11, 12, 11, 11, 8, 9, 10, 11, 12, 12, 11, 12, 9, 10, 11, 12, 12, 12, 12, 12, 10, 11, 12, 12, 13, 13, 12, 13, 9, 10, 11, 12, 12, 12, 13, 13, 10, 10, 11, 12, 12, 13, 13, 13], F.t11l = [2, 4, 6, 8, 9, 10, 9, 10, 4, 5, 6, 8, 10, 10, 9, 10, 6, 7, 8, 9, 10, 11, 10, 10, 8, 8, 9, 11, 10, 12, 10, 11, 9, 10, 10, 11, 11, 12, 11, 12, 9, 10, 11, 12, 12, 13, 12, 13, 9, 9, 9, 10, 11, 12, 12, 12, 9, 9, 10, 11, 12, 12, 12, 12], F.t12l = [4, 4, 6, 8, 9, 10, 10, 10, 4, 5, 6, 7, 9, 9, 10, 10, 6, 6, 7, 8, 9, 10, 9, 10, 7, 7, 8, 8, 9, 10, 10, 10, 8, 8, 9, 9, 10, 10, 10, 11, 9, 9, 10, 10, 10, 11, 10, 11, 9, 9, 9, 10, 10, 11, 11, 12, 10, 10, 10, 11, 11, 11, 11, 12], F.t13l = [1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14, 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14, 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15, 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15, 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16, 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16, 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16, 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18, 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17, 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17, 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19, 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18, 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18, 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18, 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18, 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18], F.t15l = [3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14, 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14, 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15], F.t16_5l = [1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11, 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11, 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12, 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12, 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13, 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13, 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14, 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13, 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14, 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14, 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14, 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14, 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12], F.t16l = [1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10, 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10, 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11, 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11, 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12, 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12, 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13, 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12, 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13, 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13, 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10], F.t24l = [4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10, 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10, 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9, 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9, 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10, 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10, 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10, 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6], F.t32l = [1, 5, 5, 7, 5, 8, 7, 9, 5, 7, 7, 9, 7, 9, 9, 10], F.t33l = [4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8], F.ht = [new e(0, 0, null, null), new e(2, 0, F.t1HB, F.t1l), new e(3, 0, F.t2HB, F.t2l), new e(3, 0, F.t3HB, F.t3l), new e(0, 0, null, null), new e(4, 0, F.t5HB, F.t5l), new e(4, 0, F.t6HB, F.t6l), new e(6, 0, F.t7HB, F.t7l), new e(6, 0, F.t8HB, F.t8l), new e(6, 0, F.t9HB, F.t9l), new e(8, 0, F.t10HB, F.t10l), new e(8, 0, F.t11HB, F.t11l), new e(8, 0, F.t12HB, F.t12l), new e(16, 0, F.t13HB, F.t13l), new e(0, 0, null, F.t16_5l), new e(16, 0, F.t15HB, F.t15l), new e(1, 1, F.t16HB, F.t16l), new e(2, 3, F.t16HB, F.t16l), new e(3, 7, F.t16HB, F.t16l), new e(4, 15, F.t16HB, F.t16l), new e(6, 63, F.t16HB, F.t16l), new e(8, 255, F.t16HB, F.t16l), new e(10, 1023, F.t16HB, F.t16l), new e(13, 8191, F.t16HB, F.t16l), new e(4, 15, F.t24HB, F.t24l), new e(5, 31, F.t24HB, F.t24l), new e(6, 63, F.t24HB, F.t24l), new e(7, 127, F.t24HB, F.t24l), new e(8, 255, F.t24HB, F.t24l), new e(9, 511, F.t24HB, F.t24l), new e(11, 2047, F.t24HB, F.t24l), new e(13, 8191, F.t24HB, F.t24l), new e(0, 0, F.t32HB, F.t32l), new e(0, 0, F.t33HB, F.t33l)], F.largetbl = [65540, 327685, 458759, 589832, 655369, 655370, 720906, 720907, 786443, 786444, 786444, 851980, 851980, 851980, 917517, 655370, 262149, 393222, 524295, 589832, 655369, 720906, 720906, 720907, 786443, 786443, 786444, 851980, 917516, 851980, 917516, 655370, 458759, 524295, 589832, 655369, 720905, 720906, 786442, 786443, 851979, 786443, 851979, 851980, 851980, 917516, 917517, 720905, 589832, 589832, 655369, 720905, 720906, 786442, 786442, 786443, 851979, 851979, 917515, 917516, 917516, 983052, 983052, 786441, 655369, 655369, 720905, 720906, 786442, 786442, 851978, 851979, 851979, 917515, 917516, 917516, 983052, 983052, 983053, 720905, 655370, 655369, 720906, 720906, 786442, 851978, 851979, 917515, 851979, 917515, 917516, 983052, 983052, 983052, 1048588, 786441, 720906, 720906, 720906, 786442, 851978, 851979, 851979, 851979, 917515, 917516, 917516, 917516, 983052, 983052, 1048589, 786441, 720907, 720906, 786442, 786442, 851979, 851979, 851979, 917515, 917516, 983052, 983052, 983052, 983052, 1114125, 1114125, 786442, 720907, 786443, 786443, 851979, 851979, 851979, 917515, 917515, 983051, 983052, 983052, 983052, 1048588, 1048589, 1048589, 786442, 786443, 786443, 786443, 851979, 851979, 917515, 917515, 983052, 983052, 983052, 983052, 1048588, 983053, 1048589, 983053, 851978, 786444, 851979, 786443, 851979, 917515, 917516, 917516, 917516, 983052, 1048588, 1048588, 1048589, 1114125, 1114125, 1048589, 786442, 851980, 851980, 851979, 851979, 917515, 917516, 983052, 1048588, 1048588, 1048588, 1048588, 1048589, 1048589, 983053, 1048589, 851978, 851980, 917516, 917516, 917516, 917516, 983052, 983052, 983052, 983052, 1114124, 1048589, 1048589, 1048589, 1048589, 1179661, 851978, 983052, 917516, 917516, 917516, 983052, 983052, 1048588, 1048588, 1048589, 1179661, 1114125, 1114125, 1114125, 1245197, 1114125, 851978, 917517, 983052, 851980, 917516, 1048588, 1048588, 983052, 1048589, 1048589, 1114125, 1179661, 1114125, 1245197, 1114125, 1048589, 851978, 655369, 655369, 655369, 720905, 720905, 786441, 786441, 786441, 851977, 851977, 851977, 851978, 851978, 851978, 851978, 655366], F.table23 = [65538, 262147, 458759, 262148, 327684, 458759, 393222, 458759, 524296], F.table56 = [65539, 262148, 458758, 524296, 262148, 327684, 524294, 589831, 458757, 524294, 589831, 655368, 524295, 524295, 589832, 655369], F.bitrate_table = [[0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1]], F.samplerate_table = [[22050, 24e3, 16e3, -1], [44100, 48e3, 32e3, -1], [11025, 12e3, 8e3, -1]], F.scfsi_band = [0, 6, 11, 16, 21], x.Q_MAX = 257, x.Q_MAX2 = 116, x.LARGE_BITS = 1e5, x.IXMAX_VAL = 8206;
+ var z = {};
+ function w() {
+ var v, g, M;
this.rv = null, this.qupvt = null;
var w,
- s = new function () {
+ n = new function () {
this.setModules = function (e, t) {};
}();
- function S(e) {
+ function R(e) {
this.ordinal = e;
}
function o(e) {
for (var t = 0; t < e.sfbmax; t++) if (e.scalefac[t] + e.subblock_gain[e.window[t]] == 0) return !1;
return !0;
}
- function M(e, t, a, n, s) {
+ function A(e, t, a, s, n) {
var r;
switch (e) {
default:
@@ -14191,10 +13886,13 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
0 < t.over_count ? (r = a.over_SSD <= t.over_SSD, a.over_SSD == t.over_SSD && (r = a.bits < t.bits)) : r = a.max_noise < 0 && 10 * a.max_noise + a.bits <= 10 * t.max_noise + t.bits;
break;
case 0:
- r = a.over_count < t.over_count || a.over_count == t.over_count && a.over_noise < t.over_noise || a.over_count == t.over_count && N.EQ(a.over_noise, t.over_noise) && a.tot_noise < t.tot_noise;
+ r = a.over_count < t.over_count || a.over_count == t.over_count && a.over_noise < t.over_noise || a.over_count == t.over_count && q.EQ(a.over_noise, t.over_noise) && a.tot_noise < t.tot_noise;
break;
case 8:
- me();
+ a.max_noise = function (e, t) {
+ for (var a, s = 1e-37, n = 0; n < t.psymax; n++) s += (a = e[n], ee.FAST_LOG10(.368 + .632 * a * a * a));
+ return Math.max(1e-20, s);
+ }(n, s);
case 1:
r = a.max_noise < t.max_noise;
break;
@@ -14208,25 +13906,25 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
r = a.max_noise <= 0 && .2 < t.max_noise || a.max_noise <= 0 && t.max_noise < 0 && t.max_noise > a.max_noise - .2 && a.tot_noise < t.tot_noise || a.max_noise <= 0 && 0 < t.max_noise && t.max_noise > a.max_noise - .2 && a.tot_noise < t.tot_noise + t.over_noise || 0 < a.max_noise && -.05 < t.max_noise && t.max_noise > a.max_noise - .1 && a.tot_noise + a.over_noise < t.tot_noise + t.over_noise || 0 < a.max_noise && -.1 < t.max_noise && t.max_noise > a.max_noise - .15 && a.tot_noise + a.over_noise + a.over_noise < t.tot_noise + t.over_noise + t.over_noise;
break;
case 5:
- r = a.over_noise < t.over_noise || N.EQ(a.over_noise, t.over_noise) && a.tot_noise < t.tot_noise;
+ r = a.over_noise < t.over_noise || q.EQ(a.over_noise, t.over_noise) && a.tot_noise < t.tot_noise;
break;
case 6:
- r = a.over_noise < t.over_noise || N.EQ(a.over_noise, t.over_noise) && (a.max_noise < t.max_noise || N.EQ(a.max_noise, t.max_noise) && a.tot_noise <= t.tot_noise);
+ r = a.over_noise < t.over_noise || q.EQ(a.over_noise, t.over_noise) && (a.max_noise < t.max_noise || q.EQ(a.max_noise, t.max_noise) && a.tot_noise <= t.tot_noise);
break;
case 7:
r = a.over_count < t.over_count || a.over_noise < t.over_noise;
}
return 0 == t.over_count && (r = r && a.bits < t.bits), r;
}
- function y(e, t, a, n, s) {
+ function B(e, t, a, s, n) {
var r = e.internal_flags;
- !function (e, t, a, n, s) {
+ !function (e, t, a, s, n) {
var r,
i = e.internal_flags;
r = 0 == t.scalefac_scale ? 1.2968395546510096 : 1.6817928305074292;
for (var o = 0, _ = 0; _ < t.sfbmax; _++) o < a[_] && (o = a[_]);
var l = i.noise_shaping_amp;
- switch (3 == l && me(), l) {
+ switch (3 == l && (l = n ? 2 : 1), l) {
case 2:
break;
case 1:
@@ -14236,536 +13934,734 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
default:
1 < o ? o = 1 : o *= .95;
}
- for (var f = 0, _ = 0; _ < t.sfbmax; _++) {
+ var f = 0;
+ for (_ = 0; _ < t.sfbmax; _++) {
var c,
- u = t.width[_];
- if (f += u, !(a[_] < o)) {
- for (0 != (2 & i.substep_shaping) && me(), t.scalefac[_]++, c = -u; c < 0; c++) n[f + c] *= r, n[f + c] > t.xrpow_max && (t.xrpow_max = n[f + c]);
+ h = t.width[_];
+ if (f += h, !(a[_] < o)) {
+ if (0 != (2 & i.substep_shaping) && (i.pseudohalf[_] = 0 == i.pseudohalf[_] ? 1 : 0, 0 == i.pseudohalf[_] && 2 == i.noise_shaping_amp)) return;
+ for (t.scalefac[_]++, c = -h; c < 0; c++) s[f + c] *= r, s[f + c] > t.xrpow_max && (t.xrpow_max = s[f + c]);
if (2 == i.noise_shaping_amp) return;
}
}
- }(e, t, a, n);
+ }(e, t, a, s, n);
var i = o(t);
- return !(i || (i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)) && (1 < r.noise_shaping && (we.fill(r.pseudohalf, 0), 0 == t.scalefac_scale ? (function (e, t) {
- for (var a = 0, n = 0; n < e.sfbmax; n++) {
- var s = e.width[n],
- r = e.scalefac[n];
- if (0 != e.preflag && (r += g.pretab[n]), a += s, 0 != (1 & r)) {
+ return !i && (!(i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)) || (1 < r.noise_shaping && (ye.fill(r.pseudohalf, 0), 0 == t.scalefac_scale ? (!function (e, t) {
+ for (var a = 0, s = 0; s < e.sfbmax; s++) {
+ var n = e.width[s],
+ r = e.scalefac[s];
+ if (0 != e.preflag && (r += M.pretab[s]), a += n, 0 != (1 & r)) {
r++;
- for (var i = -s; i < 0; i++) t[a + i] *= 1.2968395546510096, t[a + i] > e.xrpow_max && (e.xrpow_max = t[a + i]);
+ for (var i = -n; i < 0; i++) t[a + i] *= 1.2968395546510096, t[a + i] > e.xrpow_max && (e.xrpow_max = t[a + i]);
}
- e.scalefac[n] = r >> 1;
+ e.scalefac[s] = r >> 1;
}
e.preflag = 0, e.scalefac_scale = 1;
- }(t, n), i = !1) : t.block_type == Ae.SHORT_TYPE && 0 < r.subblock_gain && (i = function (e, t, a) {
- var n,
- s = t.scalefac;
- for (n = 0; n < t.sfb_lmax; n++) if (16 <= s[n]) return !0;
+ }(t, s), i = !1) : t.block_type == Pe.SHORT_TYPE && 0 < r.subblock_gain && (i = function (e, t, a) {
+ var s,
+ n = t.scalefac;
+ for (s = 0; s < t.sfb_lmax; s++) if (16 <= n[s]) return !0;
for (var r = 0; r < 3; r++) {
var i = 0,
o = 0;
- for (n = t.sfb_lmax + r; n < t.sfbdivide; n += 3) i < s[n] && (i = s[n]);
- for (; n < t.sfbmax; n += 3) o < s[n] && (o = s[n]);
+ for (s = t.sfb_lmax + r; s < t.sfbdivide; s += 3) i < n[s] && (i = n[s]);
+ for (; s < t.sfbmax; s += 3) o < n[s] && (o = n[s]);
if (!(i < 16 && o < 8)) {
if (7 <= t.subblock_gain[r]) return !0;
t.subblock_gain[r]++;
var _ = e.scalefac_band.l[t.sfb_lmax];
- for (n = t.sfb_lmax + r; n < t.sfbmax; n += 3) {
- var l = t.width[n],
- f = s[n];
- if (0 <= (f -= 4 >> t.scalefac_scale)) s[n] = f, _ += 3 * l;else {
- s[n] = 0;
+ for (s = t.sfb_lmax + r; s < t.sfbmax; s += 3) {
+ var l = t.width[s],
+ f = n[s];
+ if (0 <= (f -= 4 >> t.scalefac_scale)) n[s] = f, _ += 3 * l;else {
+ n[s] = 0;
var c = 210 + (f << t.scalefac_scale + 1);
- h = g.IPOW20(c), _ += l * (r + 1);
- for (var u = -l; u < 0; u++) a[_ + u] *= h, a[_ + u] > t.xrpow_max && (t.xrpow_max = a[_ + u]);
+ u = M.IPOW20(c), _ += l * (r + 1);
+ for (var h = -l; h < 0; h++) a[_ + h] *= u, a[_ + h] > t.xrpow_max && (t.xrpow_max = a[_ + h]);
_ += l * (3 - r - 1);
}
}
- var h = g.IPOW20(202);
- _ += t.width[n] * (r + 1);
- for (var u = -t.width[n]; u < 0; u++) a[_ + u] *= h, a[_ + u] > t.xrpow_max && (t.xrpow_max = a[_ + u]);
+ var u = M.IPOW20(202);
+ for (_ += t.width[s] * (r + 1), h = -t.width[s]; h < 0; h++) a[_ + h] *= u, a[_ + h] > t.xrpow_max && (t.xrpow_max = a[_ + h]);
}
}
return !1;
- }(r, t, n) || o(t))), i || (i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)), i));
+ }(r, t, s) || o(t))), i || (i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)), !i));
}
- this.setModules = function (e, t, a, n) {
- r = t, this.rv = t, g = a, this.qupvt = a, w = n, s.setModules(g, w);
+ this.setModules = function (e, t, a, s) {
+ v = e, g = t, this.rv = t, M = a, this.qupvt = a, w = s, n.setModules(M, w);
+ }, this.ms_convert = function (e, t) {
+ for (var a = 0; a < 576; ++a) {
+ var s = e.tt[t][0].xr[a],
+ n = e.tt[t][1].xr[a];
+ e.tt[t][0].xr[a] = (s + n) * (.5 * ee.SQRT2), e.tt[t][1].xr[a] = (s - n) * (.5 * ee.SQRT2);
+ }
}, this.init_xrpow = function (e, t, a) {
- var n = 0,
- s = 0 | t.max_nonzero_coeff;
- if (t.xrpow_max = 0, we.fill(a, s, 576, 0), 1e-20 < (n = function (e, t, a, n) {
- for (var s = n = 0; s <= a; ++s) {
- var r = Math.abs(e.xr[s]);
- n += r, t[s] = Math.sqrt(r * Math.sqrt(r)), t[s] > e.xrpow_max && (e.xrpow_max = t[s]);
+ var s = 0,
+ n = 0 | t.max_nonzero_coeff;
+ if (t.xrpow_max = 0, ye.fill(a, n, 576, 0), 1e-20 < (s = function (e, t, a, s) {
+ for (var n = s = 0; n <= a; ++n) {
+ var r = Math.abs(e.xr[n]);
+ s += r, t[n] = Math.sqrt(r * Math.sqrt(r)), t[n] > e.xrpow_max && (e.xrpow_max = t[n]);
}
- return n;
- }(t, a, s, n))) {
+ return s;
+ }(t, a, n, s))) {
var r = 0;
0 != (2 & e.substep_shaping) && (r = 1);
for (var i = 0; i < t.psymax; i++) e.pseudohalf[i] = r;
return !0;
}
- return we.fill(t.l3_enc, 0, 576, 0), !1;
+ return ye.fill(t.l3_enc, 0, 576, 0), !1;
}, this.init_outer_loop = function (e, t) {
- t.part2_3_length = 0, t.big_values = 0, t.count1 = 0, t.global_gain = 210, t.scalefac_compress = 0, t.table_select[0] = 0, t.table_select[1] = 0, t.table_select[2] = 0, t.subblock_gain[0] = 0, t.subblock_gain[1] = 0, t.subblock_gain[2] = 0, t.subblock_gain[3] = 0, t.region0_count = 0, t.region1_count = 0, t.preflag = 0, t.scalefac_scale = 0, t.count1table_select = 0, t.part2_length = 0, t.sfb_lmax = Ae.SBPSY_l, t.sfb_smin = Ae.SBPSY_s, t.psy_lmax = e.sfb21_extra ? Ae.SBMAX_l : Ae.SBPSY_l, t.psymax = t.psy_lmax, t.sfbmax = t.sfb_lmax, t.sfbdivide = 11;
- for (var a = 0; a < Ae.SBMAX_l; a++) t.width[a] = e.scalefac_band.l[a + 1] - e.scalefac_band.l[a], t.window[a] = 3;
- if (t.block_type == Ae.SHORT_TYPE) {
- var n = de(576);
- t.sfb_smin = 0, (t.sfb_lmax = 0) != t.mixed_block_flag && me(), t.psymax = t.sfb_lmax + 3 * ((e.sfb21_extra ? Ae.SBMAX_s : Ae.SBPSY_s) - t.sfb_smin), t.sfbmax = t.sfb_lmax + 3 * (Ae.SBPSY_s - t.sfb_smin), t.sfbdivide = t.sfbmax - 18, t.psy_lmax = t.sfb_lmax;
- var s = e.scalefac_band.l[t.sfb_lmax];
- I.arraycopy(t.xr, 0, n, 0, 576);
- for (var a = t.sfb_smin; a < Ae.SBMAX_s; a++) for (var r = e.scalefac_band.s[a], i = e.scalefac_band.s[a + 1], o = 0; o < 3; o++) for (var _ = r; _ < i; _++) t.xr[s++] = n[3 * _ + o];
- for (var l = t.sfb_lmax, a = t.sfb_smin; a < Ae.SBMAX_s; a++) t.width[l] = t.width[l + 1] = t.width[l + 2] = e.scalefac_band.s[a + 1] - e.scalefac_band.s[a], t.window[l] = 0, t.window[l + 1] = 1, t.window[l + 2] = 2, l += 3;
+ t.part2_3_length = 0, t.big_values = 0, t.count1 = 0, t.global_gain = 210, t.scalefac_compress = 0, t.table_select[0] = 0, t.table_select[1] = 0, t.table_select[2] = 0, t.subblock_gain[0] = 0, t.subblock_gain[1] = 0, t.subblock_gain[2] = 0, t.subblock_gain[3] = 0, t.region0_count = 0, t.region1_count = 0, t.preflag = 0, t.scalefac_scale = 0, t.count1table_select = 0, t.part2_length = 0, t.sfb_lmax = Pe.SBPSY_l, t.sfb_smin = Pe.SBPSY_s, t.psy_lmax = e.sfb21_extra ? Pe.SBMAX_l : Pe.SBPSY_l, t.psymax = t.psy_lmax, t.sfbmax = t.sfb_lmax, t.sfbdivide = 11;
+ for (var a = 0; a < Pe.SBMAX_l; a++) t.width[a] = e.scalefac_band.l[a + 1] - e.scalefac_band.l[a], t.window[a] = 3;
+ if (t.block_type == Pe.SHORT_TYPE) {
+ var s = Be(576);
+ t.sfb_smin = 0, (t.sfb_lmax = 0) != t.mixed_block_flag && (t.sfb_smin = 3, t.sfb_lmax = 2 * e.mode_gr + 4), t.psymax = t.sfb_lmax + 3 * ((e.sfb21_extra ? Pe.SBMAX_s : Pe.SBPSY_s) - t.sfb_smin), t.sfbmax = t.sfb_lmax + 3 * (Pe.SBPSY_s - t.sfb_smin), t.sfbdivide = t.sfbmax - 18, t.psy_lmax = t.sfb_lmax;
+ var n = e.scalefac_band.l[t.sfb_lmax];
+ $.arraycopy(t.xr, 0, s, 0, 576);
+ for (a = t.sfb_smin; a < Pe.SBMAX_s; a++) for (var r = e.scalefac_band.s[a], i = e.scalefac_band.s[a + 1], o = 0; o < 3; o++) for (var _ = r; _ < i; _++) t.xr[n++] = s[3 * _ + o];
+ var l = t.sfb_lmax;
+ for (a = t.sfb_smin; a < Pe.SBMAX_s; a++) t.width[l] = t.width[l + 1] = t.width[l + 2] = e.scalefac_band.s[a + 1] - e.scalefac_band.s[a], t.window[l] = 0, t.window[l + 1] = 1, t.window[l + 2] = 2, l += 3;
}
- t.count1bits = 0, t.sfb_partition_table = g.nr_of_sfb_block[0][0], t.slen[0] = 0, t.slen[1] = 0, t.slen[2] = 0, t.slen[3] = 0, t.max_nonzero_coeff = 575, we.fill(t.scalefac, 0), function (e, t) {
+ t.count1bits = 0, t.sfb_partition_table = M.nr_of_sfb_block[0][0], t.slen[0] = 0, t.slen[1] = 0, t.slen[2] = 0, t.slen[3] = 0, t.max_nonzero_coeff = 575, ye.fill(t.scalefac, 0), function (e, t) {
var a = e.ATH,
- n = t.xr;
- if (t.block_type != Ae.SHORT_TYPE) for (var s = !1, r = Ae.PSFB21 - 1; 0 <= r && !s; r--) {
+ s = t.xr;
+ if (t.block_type != Pe.SHORT_TYPE) for (var n = !1, r = Pe.PSFB21 - 1; 0 <= r && !n; r--) {
var i = e.scalefac_band.psfb21[r],
o = e.scalefac_band.psfb21[r + 1],
- _ = g.athAdjust(a.adjust, a.psfb21[r], a.floor);
+ _ = M.athAdjust(a.adjust, a.psfb21[r], a.floor);
1e-12 < e.nsPsy.longfact[21] && (_ *= e.nsPsy.longfact[21]);
for (var l = o - 1; i <= l; l--) {
- if (!(Math.abs(n[l]) < _)) {
- s = !0;
+ if (!(Math.abs(s[l]) < _)) {
+ n = !0;
break;
}
- n[l] = 0;
+ s[l] = 0;
}
- } else for (var f = 0; f < 3; f++) for (var s = !1, r = Ae.PSFB12 - 1; 0 <= r && !s; r--) {
- var i = 3 * e.scalefac_band.s[12] + (e.scalefac_band.s[13] - e.scalefac_band.s[12]) * f + (e.scalefac_band.psfb12[r] - e.scalefac_band.psfb12[0]),
- o = i + (e.scalefac_band.psfb12[r + 1] - e.scalefac_band.psfb12[r]),
- c = g.athAdjust(a.adjust, a.psfb12[r], a.floor);
- 1e-12 < e.nsPsy.shortfact[12] && (c *= e.nsPsy.shortfact[12]);
- for (var l = o - 1; i <= l; l--) {
- if (!(Math.abs(n[l]) < c)) {
- s = !0;
+ } else for (var f = 0; f < 3; f++) for (n = !1, r = Pe.PSFB12 - 1; 0 <= r && !n; r--) {
+ o = (i = 3 * e.scalefac_band.s[12] + (e.scalefac_band.s[13] - e.scalefac_band.s[12]) * f + (e.scalefac_band.psfb12[r] - e.scalefac_band.psfb12[0])) + (e.scalefac_band.psfb12[r + 1] - e.scalefac_band.psfb12[r]);
+ var c = M.athAdjust(a.adjust, a.psfb12[r], a.floor);
+ for (1e-12 < e.nsPsy.shortfact[12] && (c *= e.nsPsy.shortfact[12]), l = o - 1; i <= l; l--) {
+ if (!(Math.abs(s[l]) < c)) {
+ n = !0;
break;
}
- n[l] = 0;
+ s[l] = 0;
}
}
}(e, t);
- }, S.BINSEARCH_NONE = new S(0), S.BINSEARCH_UP = new S(1), S.BINSEARCH_DOWN = new S(2), this.outer_loop = function (e, t, a, n, s, r) {
+ }, R.BINSEARCH_NONE = new R(0), R.BINSEARCH_UP = new R(1), R.BINSEARCH_DOWN = new R(2), this.trancate_smallspectrums = function (e, t, a, s) {
+ var n = Be(z.SFBMAX);
+ if ((0 != (4 & e.substep_shaping) || t.block_type != Pe.SHORT_TYPE) && 0 == (128 & e.substep_shaping)) {
+ M.calc_noise(t, a, n, new y(), null);
+ for (var r = 0; r < 576; r++) {
+ var i = 0;
+ 0 != t.l3_enc[r] && (i = Math.abs(t.xr[r])), s[r] = i;
+ }
+ r = 0;
+ var o = 8;
+ t.block_type == Pe.SHORT_TYPE && (o = 6);
+ do {
+ var _,
+ l,
+ f,
+ c,
+ h = t.width[o];
+ if (r += h, !(1 <= n[o] || (ye.sort(s, r - h, h), q.EQ(s[r - 1], 0)))) {
+ _ = (1 - n[o]) * a[o], c = l = 0;
+ do {
+ var u;
+ for (f = 1; c + f < h && !q.NEQ(s[c + r - h], s[c + r + f - h]); f++);
+ if (_ < (u = s[c + r - h] * s[c + r - h] * f)) {
+ 0 != c && (l = s[c + r - h - 1]);
+ break;
+ }
+ _ -= u, c += f;
+ } while (c < h);
+ if (!q.EQ(l, 0)) for (; Math.abs(t.xr[r - h]) <= l && (t.l3_enc[r - h] = 0), 0 < --h;);
+ }
+ } while (++o < t.psymax);
+ t.part2_3_length = w.noquant_count_bits(e, t, null);
+ }
+ }, this.outer_loop = function (e, t, a, s, n, r) {
var i = e.internal_flags,
- o = new B(),
- _ = de(576),
- l = de(F.SFBMAX),
- f = new x(),
+ o = new T(),
+ _ = Be(576),
+ l = Be(z.SFBMAX),
+ f = new y(),
c = new function () {
- this.global_gain = 0, this.sfb_count1 = 0, this.step = ve(39), this.noise = de(39), this.noise_log = de(39);
+ this.global_gain = 0, this.sfb_count1 = 0, this.step = Ae(39), this.noise = Be(39), this.noise_log = Be(39);
}(),
- u = 9999999,
- h = !1;
- if (function (e, t, a, n, s) {
+ h = 9999999,
+ u = !1,
+ m = !1,
+ p = 0;
+ if (function (e, t, a, s, n) {
var r,
- i = e.CurrentStep[n],
+ i = e.CurrentStep[s],
o = !1,
- _ = e.OldValue[n],
- l = S.BINSEARCH_NONE;
+ _ = e.OldValue[s],
+ l = R.BINSEARCH_NONE;
for (t.global_gain = _, a -= t.part2_length;;) {
var f;
- if (r = w.count_bits(e, s, t, null), 1 == i || r == a) break;
- a < r ? (l == S.BINSEARCH_DOWN && (o = !0), o && (i /= 2), l = S.BINSEARCH_UP, f = i) : (l == S.BINSEARCH_UP && (o = !0), o && (i /= 2), l = S.BINSEARCH_DOWN, f = -i), t.global_gain += f, t.global_gain < 0 && me(), 255 < t.global_gain && me();
+ if (r = w.count_bits(e, n, t, null), 1 == i || r == a) break;
+ a < r ? (l == R.BINSEARCH_DOWN && (o = !0), o && (i /= 2), l = R.BINSEARCH_UP, f = i) : (l == R.BINSEARCH_UP && (o = !0), o && (i /= 2), l = R.BINSEARCH_DOWN, f = -i), t.global_gain += f, t.global_gain < 0 && (o = !(t.global_gain = 0)), 255 < t.global_gain && (t.global_gain = 255, o = !0);
}
- for (; a < r && t.global_gain < 255;) t.global_gain++, r = w.count_bits(e, s, t, null);
- e.CurrentStep[n] = 4 <= _ - t.global_gain ? 4 : 2, e.OldValue[n] = t.global_gain, t.part2_3_length = r;
- }(i, t, r, s, n), 0 == i.noise_shaping) return 100;
- g.calc_noise(t, a, l, f, c), f.bits = t.part2_3_length, o.assign(t);
+ for (; a < r && t.global_gain < 255;) t.global_gain++, r = w.count_bits(e, n, t, null);
+ e.CurrentStep[s] = 4 <= _ - t.global_gain ? 4 : 2, e.OldValue[s] = t.global_gain, t.part2_3_length = r;
+ }(i, t, r, n, s), 0 == i.noise_shaping) return 100;
+ M.calc_noise(t, a, l, f, c), f.bits = t.part2_3_length, o.assign(t);
var b = 0;
- for (I.arraycopy(n, 0, _, 0, 576); !h;) {
+ for ($.arraycopy(s, 0, _, 0, 576); !u;) {
do {
- var p,
- m = new x(),
- v = 255;
- if (p = 0 != (2 & i.substep_shaping) ? 20 : 3, i.sfb21_extra && me(), !y(e, o, l, n)) break;
- 0 != o.scalefac_scale && (v = 254);
- var d = r - o.part2_length;
- if (d <= 0) break;
- for (; (o.part2_3_length = w.count_bits(i, n, o, c)) > d && o.global_gain <= v;) o.global_gain++;
- if (o.global_gain > v) break;
- if (0 == f.over_count) {
- for (; (o.part2_3_length = w.count_bits(i, n, o, c)) > u && o.global_gain <= v;) o.global_gain++;
- if (o.global_gain > v) break;
+ var v,
+ d = new y(),
+ g = 255;
+ if (v = 0 != (2 & i.substep_shaping) ? 20 : 3, i.sfb21_extra) {
+ if (1 < l[o.sfbmax]) break;
+ if (o.block_type == Pe.SHORT_TYPE && (1 < l[o.sfbmax + 1] || 1 < l[o.sfbmax + 2])) break;
}
- if (g.calc_noise(o, a, l, m, c), m.bits = o.part2_3_length, 0 != (M(t.block_type != Ae.SHORT_TYPE ? e.quant_comp : e.quant_comp_short, f, m) ? 1 : 0)) u = t.part2_3_length, f = m, t.assign(o), b = 0, I.arraycopy(n, 0, _, 0, 576);else if (0 == i.full_outer_loop) {
- if (++b > p && 0 == f.over_count) break;
- i.noise_shaping_amp, i.noise_shaping_amp;
+ if (!B(e, o, l, s, m)) break;
+ 0 != o.scalefac_scale && (g = 254);
+ var S = r - o.part2_length;
+ if (S <= 0) break;
+ for (; (o.part2_3_length = w.count_bits(i, s, o, c)) > S && o.global_gain <= g;) o.global_gain++;
+ if (o.global_gain > g) break;
+ if (0 == f.over_count) {
+ for (; (o.part2_3_length = w.count_bits(i, s, o, c)) > h && o.global_gain <= g;) o.global_gain++;
+ if (o.global_gain > g) break;
+ }
+ if (M.calc_noise(o, a, l, d, c), d.bits = o.part2_3_length, 0 != (A(t.block_type != Pe.SHORT_TYPE ? e.quant_comp : e.quant_comp_short, f, d, o, l) ? 1 : 0)) h = t.part2_3_length, f = d, t.assign(o), b = 0, $.arraycopy(s, 0, _, 0, 576);else if (0 == i.full_outer_loop) {
+ if (++b > v && 0 == f.over_count) break;
+ if (3 == i.noise_shaping_amp && m && 30 < b) break;
+ if (3 == i.noise_shaping_amp && m && 15 < o.global_gain - p) break;
}
} while (o.global_gain + o.scalefac_scale < 255);
- 3 == i.noise_shaping_amp ? me() : h = !0;
+ 3 == i.noise_shaping_amp ? m ? u = !0 : (o.assign(t), $.arraycopy(_, 0, s, 0, 576), b = 0, p = o.global_gain, m = !0) : u = !0;
}
- return e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? I.arraycopy(_, 0, n, 0, 576) : 0 != (1 & i.substep_shaping) && me(), f.over_count;
+ return e.VBR == xe.vbr_rh || e.VBR == xe.vbr_mtrh ? $.arraycopy(_, 0, s, 0, 576) : 0 != (1 & i.substep_shaping) && trancate_smallspectrums(i, t, a, s), f.over_count;
}, this.iteration_finish_one = function (e, t, a) {
- var n = e.l3_side,
- s = n.tt[t][a];
- w.best_scalefac_store(e, t, a, n), 1 == e.use_best_huffman && w.best_huffman_divide(e, s), r.ResvAdjust(e, s);
+ var s = e.l3_side,
+ n = s.tt[t][a];
+ w.best_scalefac_store(e, t, a, s), 1 == e.use_best_huffman && w.best_huffman_divide(e, n), g.ResvAdjust(e, n);
+ }, this.VBR_encode_granule = function (e, t, a, s, n, r, i) {
+ var o,
+ _ = e.internal_flags,
+ l = new T(),
+ f = Be(576),
+ c = i,
+ h = i + 1,
+ u = (i + r) / 2,
+ m = 0,
+ p = _.sfb21_extra;
+ for (ye.fill(l.l3_enc, 0); _.sfb21_extra = !(c - 42 < u) && p, outer_loop(e, t, a, s, n, u) <= 0 ? (m = 1, h = t.part2_3_length, l.assign(t), $.arraycopy(s, 0, f, 0, 576), o = (i = h - 32) - r, u = (i + r) / 2) : (o = i - (r = u + 32), u = (i + r) / 2, 0 != m && (m = 2, t.assign(l), $.arraycopy(f, 0, s, 0, 576))), 12 < o;);
+ _.sfb21_extra = p, 2 == m && $.arraycopy(l.l3_enc, 0, t.l3_enc, 0, 576);
+ }, this.get_framebits = function (e, t) {
+ var a = e.internal_flags;
+ a.bitrate_index = a.VBR_min_bitrate;
+ var s = v.getframebits(e);
+ a.bitrate_index = 1, s = v.getframebits(e);
+ for (var n = 1; n <= a.VBR_max_bitrate; n++) {
+ a.bitrate_index = n;
+ var r = new j(s);
+ t[n] = g.ResvFrameBegin(e, r), s = r.bits;
+ }
+ }, this.VBR_old_prepare = function (e, t, a, s, n, r, i, o, _) {
+ var l,
+ f = e.internal_flags,
+ c = 0,
+ h = 1,
+ u = 0;
+ f.bitrate_index = f.VBR_max_bitrate;
+ var m = g.ResvFrameBegin(e, new j(0)) / f.mode_gr;
+ get_framebits(e, r);
+ for (var p = 0; p < f.mode_gr; p++) {
+ var b = M.on_pe(e, t, o[p], m, p, 0);
+ f.mode_ext == Pe.MPG_MD_MS_LR && (ms_convert(f.l3_side, p), M.reduce_side(o[p], a[p], m, b));
+ for (var v = 0; v < f.channels_out; ++v) {
+ var d = f.l3_side.tt[p][v];
+ d.block_type != Pe.SHORT_TYPE ? (c = 1.28 / (1 + Math.exp(3.5 - t[p][v] / 300)) - .05, l = f.PSY.mask_adjust - c) : (c = 2.56 / (1 + Math.exp(3.5 - t[p][v] / 300)) - .14, l = f.PSY.mask_adjust_short - c), f.masking_lower = Math.pow(10, .1 * l), init_outer_loop(f, d), _[p][v] = M.calc_xmin(e, s[p][v], d, n[p][v]), 0 != _[p][v] && (h = 0), i[p][v] = 126, u += o[p][v];
+ }
+ }
+ for (p = 0; p < f.mode_gr; p++) for (v = 0; v < f.channels_out; v++) u > r[f.VBR_max_bitrate] && (o[p][v] *= r[f.VBR_max_bitrate], o[p][v] /= u), i[p][v] > o[p][v] && (i[p][v] = o[p][v]);
+ return h;
+ }, this.bitpressure_strategy = function (e, t, a, s) {
+ for (var n = 0; n < e.mode_gr; n++) for (var r = 0; r < e.channels_out; r++) {
+ for (var i = e.l3_side.tt[n][r], o = t[n][r], _ = 0, l = 0; l < i.psy_lmax; l++) o[_++] *= 1 + .029 * l * l / Pe.SBMAX_l / Pe.SBMAX_l;
+ if (i.block_type == Pe.SHORT_TYPE) for (l = i.sfb_smin; l < Pe.SBMAX_s; l++) o[_++] *= 1 + .029 * l * l / Pe.SBMAX_s / Pe.SBMAX_s, o[_++] *= 1 + .029 * l * l / Pe.SBMAX_s / Pe.SBMAX_s, o[_++] *= 1 + .029 * l * l / Pe.SBMAX_s / Pe.SBMAX_s;
+ s[n][r] = 0 | Math.max(a[n][r], .9 * s[n][r]);
+ }
+ }, this.VBR_new_prepare = function (e, t, a, s, n, r) {
+ var i,
+ o = e.internal_flags,
+ _ = 1,
+ l = 0,
+ f = 0;
+ if (e.free_format) {
+ o.bitrate_index = 0;
+ c = new j(l);
+ i = g.ResvFrameBegin(e, c), l = c.bits, n[0] = i;
+ } else {
+ o.bitrate_index = o.VBR_max_bitrate;
+ var c = new j(l);
+ g.ResvFrameBegin(e, c), l = c.bits, get_framebits(e, n), i = n[o.VBR_max_bitrate];
+ }
+ for (var h = 0; h < o.mode_gr; h++) {
+ M.on_pe(e, t, r[h], l, h, 0), o.mode_ext == Pe.MPG_MD_MS_LR && ms_convert(o.l3_side, h);
+ for (var u = 0; u < o.channels_out; ++u) {
+ var m = o.l3_side.tt[h][u];
+ o.masking_lower = Math.pow(10, .1 * o.PSY.mask_adjust), init_outer_loop(o, m), 0 != M.calc_xmin(e, a[h][u], m, s[h][u]) && (_ = 0), f += r[h][u];
+ }
+ }
+ for (h = 0; h < o.mode_gr; h++) for (u = 0; u < o.channels_out; u++) i < f && (r[h][u] *= i, r[h][u] /= f);
+ return _;
+ }, this.calc_target_bits = function (e, t, a, s, n, r) {
+ var i,
+ o,
+ _,
+ l,
+ f = e.internal_flags,
+ c = f.l3_side,
+ h = 0;
+ f.bitrate_index = f.VBR_max_bitrate;
+ var u = new j(h);
+ for (r[0] = g.ResvFrameBegin(e, u), h = u.bits, f.bitrate_index = 1, h = v.getframebits(e) - 8 * f.sideinfo_len, n[0] = h / (f.mode_gr * f.channels_out), h = e.VBR_mean_bitrate_kbps * e.framesize * 1e3, 0 != (1 & f.substep_shaping) && (h *= 1.09), h /= e.out_samplerate, h -= 8 * f.sideinfo_len, h /= f.mode_gr * f.channels_out, (i = .93 + .07 * (11 - e.compression_ratio) / 5.5) < .9 && (i = .9), 1 < i && (i = 1), o = 0; o < f.mode_gr; o++) {
+ var m = 0;
+ for (_ = 0; _ < f.channels_out; _++) {
+ if (s[o][_] = int(i * h), 700 < t[o][_]) {
+ var p = int((t[o][_] - 700) / 1.4),
+ b = c.tt[o][_];
+ s[o][_] = int(i * h), b.block_type == Pe.SHORT_TYPE && p < h / 2 && (p = h / 2), 3 * h / 2 < p ? p = 3 * h / 2 : p < 0 && (p = 0), s[o][_] += p;
+ }
+ s[o][_] > Z.MAX_BITS_PER_CHANNEL && (s[o][_] = Z.MAX_BITS_PER_CHANNEL), m += s[o][_];
+ }
+ if (Z.MAX_BITS_PER_GRANULE < m) for (_ = 0; _ < f.channels_out; ++_) s[o][_] *= Z.MAX_BITS_PER_GRANULE, s[o][_] /= m;
+ }
+ if (f.mode_ext == Pe.MPG_MD_MS_LR) for (o = 0; o < f.mode_gr; o++) M.reduce_side(s[o], a[o], h * f.channels_out, Z.MAX_BITS_PER_GRANULE);
+ for (o = l = 0; o < f.mode_gr; o++) for (_ = 0; _ < f.channels_out; _++) s[o][_] > Z.MAX_BITS_PER_CHANNEL && (s[o][_] = Z.MAX_BITS_PER_CHANNEL), l += s[o][_];
+ if (l > r[0]) for (o = 0; o < f.mode_gr; o++) for (_ = 0; _ < f.channels_out; _++) s[o][_] *= r[0], s[o][_] /= l;
};
}
- function L() {
+ function N() {
this.thm = new i(), this.en = new i();
}
- function Ae() {
- var k = Ae.MPG_MD_MS_LR,
- R = null,
- x = this.psy = null,
- B = null;
- this.setModules = function (e, t, a, n) {
- R = e, this.psy = t, x = t, B = n;
+ function Pe() {
+ var E = Pe.FFTOFFSET,
+ P = Pe.MPG_MD_MS_LR,
+ L = null,
+ I = this.psy = null,
+ H = null,
+ C = null;
+ this.setModules = function (e, t, a, s) {
+ L = e, this.psy = t, I = t, H = s, C = a;
};
- var T = new function () {
- var u = [-.1482523854003001, 32.308141959636465, 296.40344946382766, 883.1344870032432, 11113.947376231741, 1057.2713659324597, 305.7402417275812, 30.825928907280012, 3.8533188138216365, 59.42900443849514, 709.5899960123345, 5281.91112291017, -5829.66483675846, -817.6293103748613, -76.91656988279972, -4.594269939176596, .9063471690191471, .1960342806591213, -.15466694054279598, 34.324387823855965, 301.8067566458425, 817.599602898885, 11573.795901679885, 1181.2520595540152, 321.59731579894424, 31.232021761053772, 3.7107095756221318, 53.650946155329365, 684.167428119626, 5224.56624370173, -6366.391851890084, -908.9766368219582, -89.83068876699639, -5.411397422890401, .8206787908286602, .3901806440322567, -.16070888947830023, 36.147034243915876, 304.11815768187864, 732.7429163887613, 11989.60988270091, 1300.012278487897, 335.28490093152146, 31.48816102859945, 3.373875931311736, 47.232241542899175, 652.7371796173471, 5132.414255594984, -6909.087078780055, -1001.9990371107289, -103.62185754286375, -6.104916304710272, .7416505462720353, .5805693545089249, -.16636367662261495, 37.751650073343995, 303.01103387567713, 627.9747488785183, 12358.763425278165, 1412.2779918482834, 346.7496836825721, 31.598286663170416, 3.1598635433980946, 40.57878626349686, 616.1671130880391, 5007.833007176154, -7454.040671756168, -1095.7960341867115, -118.24411666465777, -6.818469345853504, .6681786379192989, .7653668647301797, -.1716176790982088, 39.11551877123304, 298.3413246578966, 503.5259106886539, 12679.589408408976, 1516.5821921214542, 355.9850766329023, 31.395241710249053, 2.9164211881972335, 33.79716964664243, 574.8943997801362, 4853.234992253242, -7997.57021486075, -1189.7624067269965, -133.6444792601766, -7.7202770609839915, .5993769336819237, .9427934736519954, -.17645823955292173, 40.21879108166477, 289.9982036694474, 359.3226160751053, 12950.259102786438, 1612.1013903507662, 362.85067106591504, 31.045922092242872, 2.822222032597987, 26.988862316190684, 529.8996541764288, 4671.371946949588, -8535.899136645805, -1282.5898586244496, -149.58553632943463, -8.643494270763135, .5345111359507916, 1.111140466039205, -.36174739330527045, 41.04429910497807, 277.5463268268618, 195.6386023135583, 13169.43812144731, 1697.6433561479398, 367.40983966190305, 30.557037410382826, 2.531473372857427, 20.070154905927314, 481.50208566532336, 4464.970341588308, -9065.36882077239, -1373.62841526722, -166.1660487028118, -9.58289321133207, .4729647758913199, 1.268786568327291, -.36970682634889585, 41.393213350082036, 261.2935935556502, 12.935476055240873, 13336.131683328815, 1772.508612059496, 369.76534388639965, 29.751323653701338, 2.4023193045459172, 13.304795348228817, 430.5615775526625, 4237.0568611071185, -9581.931701634761, -1461.6913552409758, -183.12733958476446, -10.718010163869403, .41421356237309503, 1.414213562373095, -.37677560326535325, 41.619486213528496, 241.05423794991074, -187.94665032361226, 13450.063605744153, 1836.153896465782, 369.4908799925761, 29.001847876923147, 2.0714759319987186, 6.779591200894186, 377.7767837205709, 3990.386575512536, -10081.709459700915, -1545.947424837898, -200.3762958015653, -11.864482073055006, .3578057213145241, 1.546020906725474, -.3829366947518991, 41.1516456456653, 216.47684307105183, -406.1569483347166, 13511.136535077321, 1887.8076599260432, 367.3025214564151, 28.136213436723654, 1.913880671464418, .3829366947518991, 323.85365704338597, 3728.1472257487526, -10561.233882199509, -1625.2025997821418, -217.62525175416, -13.015432208941645, .3033466836073424, 1.66293922460509, -.5822628872992417, 40.35639251440489, 188.20071124269245, -640.2706748618148, 13519.21490106562, 1927.6022433578062, 362.8197642637487, 26.968821921868447, 1.7463817695935329, -5.62650678237171, 269.3016715297017, 3453.386536448852, -11016.145278780888, -1698.6569643425091, -234.7658734267683, -14.16351421663124, .2504869601913055, 1.76384252869671, -.5887180101749253, 39.23429103868072, 155.76096234403798, -889.2492977967378, 13475.470561874661, 1955.0535223723712, 356.4450994756727, 25.894952980042156, 1.5695032905781554, -11.181939564328772, 214.80884394039484, 3169.1640829158237, -11443.321309975563, -1765.1588461316153, -251.68908574481912, -15.49755935939164, .198912367379658, 1.847759065022573, -.7912582233652842, 37.39369355329111, 119.699486012458, -1151.0956593239027, 13380.446257078214, 1970.3952110853447, 348.01959814116185, 24.731487364283044, 1.3850130831637748, -16.421408865300393, 161.05030052864092, 2878.3322807850063, -11838.991423510031, -1823.985884688674, -268.2854986386903, -16.81724543849939, .1483359875383474, 1.913880671464418, -.7960642926861912, 35.2322109610459, 80.01928065061526, -1424.0212633405113, 13235.794061869668, 1973.804052543835, 337.9908651258184, 23.289159354463873, 1.3934255946442087, -21.099669467133474, 108.48348407242611, 2583.700758091299, -12199.726194855148, -1874.2780658979746, -284.2467154529415, -18.11369784385905, .09849140335716425, 1.961570560806461, -.998795456205172, 32.56307803611191, 36.958364584370486, -1706.075448829146, 13043.287458812016, 1965.3831106103316, 326.43182772364605, 22.175018750622293, 1.198638339011324, -25.371248002043963, 57.53505923036915, 2288.41886619975, -12522.674544337233, -1914.8400385312243, -299.26241273417224, -19.37805630698734, .04912684976946725, 1.990369453344394, .035780907 * V.SQRT2 * .5 / 2384e-9, .017876148 * V.SQRT2 * .5 / 2384e-9, .003134727 * V.SQRT2 * .5 / 2384e-9, .002457142 * V.SQRT2 * .5 / 2384e-9, 971317e-9 * V.SQRT2 * .5 / 2384e-9, 218868e-9 * V.SQRT2 * .5 / 2384e-9, 101566e-9 * V.SQRT2 * .5 / 2384e-9, 13828e-9 * V.SQRT2 * .5 / 2384e-9, 12804.797818791945, 1945.5515939597317, 313.4244966442953, 49591e-9 / 2384e-9, 1995.1556208053692, 21458e-9 / 2384e-9, -69618e-9 / 2384e-9],
- A = [[2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.40084909404969e-13, 6.423305872147839e-13, 2.382191739347918e-13, 5.456116108943412e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758252e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558783e-12, 8.371015190102974e-13, 2.599706096327376e-13, -5.456116108943412e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758252e-12, -2.858043359288076e-12, -2.156177623817898e-12, -1.475637723558783e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347923e-13, -6.423305872147843e-13, -9.400849094049696e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049694e-13, -6.42330587214784e-13, -2.382191739347918e-13], [2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.400849094049688e-13, 6.423305872147841e-13, 2.382191739347918e-13, 5.456116108943413e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758253e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558782e-12, 8.371015190102975e-13, 2.599706096327376e-13, -5.461314069809755e-12, -4.921085770524055e-12, -4.343405037091838e-12, -3.732668368707687e-12, -3.093523840190885e-12, -2.430835727329465e-12, -1.734679010007751e-12, -9.74825365660928e-13, -2.797435120168326e-13, 0, 0, 0, 0, 0, 0, -2.283748241799531e-13, -4.037858874020686e-13, -2.146547464825323e-13], [.1316524975873958, .414213562373095, .7673269879789602, 1.091308501069271, 1.303225372841206, 1.56968557711749, 1.920982126971166, 2.414213562373094, 3.171594802363212, 4.510708503662055, 7.595754112725146, 22.90376554843115, .984807753012208, .6427876096865394, .3420201433256688, .9396926207859084, -.1736481776669303, -.7660444431189779, .8660254037844387, .5, -.5144957554275265, -.4717319685649723, -.3133774542039019, -.1819131996109812, -.09457419252642064, -.04096558288530405, -.01419856857247115, -.003699974673760037, .8574929257125442, .8817419973177052, .9496286491027329, .9833145924917901, .9955178160675857, .9991605581781475, .999899195244447, .9999931550702802], [0, 0, 0, 0, 0, 0, 2.283748241799531e-13, 4.037858874020686e-13, 2.146547464825323e-13, 5.461314069809755e-12, 4.921085770524055e-12, 4.343405037091838e-12, 3.732668368707687e-12, 3.093523840190885e-12, 2.430835727329466e-12, 1.734679010007751e-12, 9.74825365660928e-13, 2.797435120168326e-13, -5.456116108943413e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758253e-12, -2.858043359288075e-12, -2.156177623817898e-12, -1.475637723558782e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347913e-13, -6.423305872147834e-13, -9.400849094049688e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049688e-13, -6.423305872147841e-13, -2.382191739347918e-13]],
- k = A[Ae.SHORT_TYPE],
- S = A[Ae.SHORT_TYPE],
- R = A[Ae.SHORT_TYPE],
- x = A[Ae.SHORT_TYPE],
- B = [0, 1, 16, 17, 8, 9, 24, 25, 4, 5, 20, 21, 12, 13, 28, 29, 2, 3, 18, 19, 10, 11, 26, 27, 6, 7, 22, 23, 14, 15, 30, 31];
- function T(e, t, a) {
- for (var n, s, r, i = 10, o = t + 238 - 14 - 286, _ = -15; _ < 0; _++) {
+ var V = new function () {
+ var h = [-.1482523854003001, 32.308141959636465, 296.40344946382766, 883.1344870032432, 11113.947376231741, 1057.2713659324597, 305.7402417275812, 30.825928907280012, 3.8533188138216365, 59.42900443849514, 709.5899960123345, 5281.91112291017, -5829.66483675846, -817.6293103748613, -76.91656988279972, -4.594269939176596, .9063471690191471, .1960342806591213, -.15466694054279598, 34.324387823855965, 301.8067566458425, 817.599602898885, 11573.795901679885, 1181.2520595540152, 321.59731579894424, 31.232021761053772, 3.7107095756221318, 53.650946155329365, 684.167428119626, 5224.56624370173, -6366.391851890084, -908.9766368219582, -89.83068876699639, -5.411397422890401, .8206787908286602, .3901806440322567, -.16070888947830023, 36.147034243915876, 304.11815768187864, 732.7429163887613, 11989.60988270091, 1300.012278487897, 335.28490093152146, 31.48816102859945, 3.373875931311736, 47.232241542899175, 652.7371796173471, 5132.414255594984, -6909.087078780055, -1001.9990371107289, -103.62185754286375, -6.104916304710272, .7416505462720353, .5805693545089249, -.16636367662261495, 37.751650073343995, 303.01103387567713, 627.9747488785183, 12358.763425278165, 1412.2779918482834, 346.7496836825721, 31.598286663170416, 3.1598635433980946, 40.57878626349686, 616.1671130880391, 5007.833007176154, -7454.040671756168, -1095.7960341867115, -118.24411666465777, -6.818469345853504, .6681786379192989, .7653668647301797, -.1716176790982088, 39.11551877123304, 298.3413246578966, 503.5259106886539, 12679.589408408976, 1516.5821921214542, 355.9850766329023, 31.395241710249053, 2.9164211881972335, 33.79716964664243, 574.8943997801362, 4853.234992253242, -7997.57021486075, -1189.7624067269965, -133.6444792601766, -7.7202770609839915, .5993769336819237, .9427934736519954, -.17645823955292173, 40.21879108166477, 289.9982036694474, 359.3226160751053, 12950.259102786438, 1612.1013903507662, 362.85067106591504, 31.045922092242872, 2.822222032597987, 26.988862316190684, 529.8996541764288, 4671.371946949588, -8535.899136645805, -1282.5898586244496, -149.58553632943463, -8.643494270763135, .5345111359507916, 1.111140466039205, -.36174739330527045, 41.04429910497807, 277.5463268268618, 195.6386023135583, 13169.43812144731, 1697.6433561479398, 367.40983966190305, 30.557037410382826, 2.531473372857427, 20.070154905927314, 481.50208566532336, 4464.970341588308, -9065.36882077239, -1373.62841526722, -166.1660487028118, -9.58289321133207, .4729647758913199, 1.268786568327291, -.36970682634889585, 41.393213350082036, 261.2935935556502, 12.935476055240873, 13336.131683328815, 1772.508612059496, 369.76534388639965, 29.751323653701338, 2.4023193045459172, 13.304795348228817, 430.5615775526625, 4237.0568611071185, -9581.931701634761, -1461.6913552409758, -183.12733958476446, -10.718010163869403, .41421356237309503, 1.414213562373095, -.37677560326535325, 41.619486213528496, 241.05423794991074, -187.94665032361226, 13450.063605744153, 1836.153896465782, 369.4908799925761, 29.001847876923147, 2.0714759319987186, 6.779591200894186, 377.7767837205709, 3990.386575512536, -10081.709459700915, -1545.947424837898, -200.3762958015653, -11.864482073055006, .3578057213145241, 1.546020906725474, -.3829366947518991, 41.1516456456653, 216.47684307105183, -406.1569483347166, 13511.136535077321, 1887.8076599260432, 367.3025214564151, 28.136213436723654, 1.913880671464418, .3829366947518991, 323.85365704338597, 3728.1472257487526, -10561.233882199509, -1625.2025997821418, -217.62525175416, -13.015432208941645, .3033466836073424, 1.66293922460509, -.5822628872992417, 40.35639251440489, 188.20071124269245, -640.2706748618148, 13519.21490106562, 1927.6022433578062, 362.8197642637487, 26.968821921868447, 1.7463817695935329, -5.62650678237171, 269.3016715297017, 3453.386536448852, -11016.145278780888, -1698.6569643425091, -234.7658734267683, -14.16351421663124, .2504869601913055, 1.76384252869671, -.5887180101749253, 39.23429103868072, 155.76096234403798, -889.2492977967378, 13475.470561874661, 1955.0535223723712, 356.4450994756727, 25.894952980042156, 1.5695032905781554, -11.181939564328772, 214.80884394039484, 3169.1640829158237, -11443.321309975563, -1765.1588461316153, -251.68908574481912, -15.49755935939164, .198912367379658, 1.847759065022573, -.7912582233652842, 37.39369355329111, 119.699486012458, -1151.0956593239027, 13380.446257078214, 1970.3952110853447, 348.01959814116185, 24.731487364283044, 1.3850130831637748, -16.421408865300393, 161.05030052864092, 2878.3322807850063, -11838.991423510031, -1823.985884688674, -268.2854986386903, -16.81724543849939, .1483359875383474, 1.913880671464418, -.7960642926861912, 35.2322109610459, 80.01928065061526, -1424.0212633405113, 13235.794061869668, 1973.804052543835, 337.9908651258184, 23.289159354463873, 1.3934255946442087, -21.099669467133474, 108.48348407242611, 2583.700758091299, -12199.726194855148, -1874.2780658979746, -284.2467154529415, -18.11369784385905, .09849140335716425, 1.961570560806461, -.998795456205172, 32.56307803611191, 36.958364584370486, -1706.075448829146, 13043.287458812016, 1965.3831106103316, 326.43182772364605, 22.175018750622293, 1.198638339011324, -25.371248002043963, 57.53505923036915, 2288.41886619975, -12522.674544337233, -1914.8400385312243, -299.26241273417224, -19.37805630698734, .04912684976946725, 1.990369453344394, .035780907 * ee.SQRT2 * .5 / 2384e-9, .017876148 * ee.SQRT2 * .5 / 2384e-9, .003134727 * ee.SQRT2 * .5 / 2384e-9, .002457142 * ee.SQRT2 * .5 / 2384e-9, 971317e-9 * ee.SQRT2 * .5 / 2384e-9, 218868e-9 * ee.SQRT2 * .5 / 2384e-9, 101566e-9 * ee.SQRT2 * .5 / 2384e-9, 13828e-9 * ee.SQRT2 * .5 / 2384e-9, 12804.797818791945, 1945.5515939597317, 313.4244966442953, 49591e-9 / 2384e-9, 1995.1556208053692, 21458e-9 / 2384e-9, -69618e-9 / 2384e-9],
+ z = [[2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.40084909404969e-13, 6.423305872147839e-13, 2.382191739347918e-13, 5.456116108943412e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758252e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558783e-12, 8.371015190102974e-13, 2.599706096327376e-13, -5.456116108943412e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758252e-12, -2.858043359288076e-12, -2.156177623817898e-12, -1.475637723558783e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347923e-13, -6.423305872147843e-13, -9.400849094049696e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049694e-13, -6.42330587214784e-13, -2.382191739347918e-13], [2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.400849094049688e-13, 6.423305872147841e-13, 2.382191739347918e-13, 5.456116108943413e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758253e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558782e-12, 8.371015190102975e-13, 2.599706096327376e-13, -5.461314069809755e-12, -4.921085770524055e-12, -4.343405037091838e-12, -3.732668368707687e-12, -3.093523840190885e-12, -2.430835727329465e-12, -1.734679010007751e-12, -9.74825365660928e-13, -2.797435120168326e-13, 0, 0, 0, 0, 0, 0, -2.283748241799531e-13, -4.037858874020686e-13, -2.146547464825323e-13], [.1316524975873958, .414213562373095, .7673269879789602, 1.091308501069271, 1.303225372841206, 1.56968557711749, 1.920982126971166, 2.414213562373094, 3.171594802363212, 4.510708503662055, 7.595754112725146, 22.90376554843115, .984807753012208, .6427876096865394, .3420201433256688, .9396926207859084, -.1736481776669303, -.7660444431189779, .8660254037844387, .5, -.5144957554275265, -.4717319685649723, -.3133774542039019, -.1819131996109812, -.09457419252642064, -.04096558288530405, -.01419856857247115, -.003699974673760037, .8574929257125442, .8817419973177052, .9496286491027329, .9833145924917901, .9955178160675857, .9991605581781475, .999899195244447, .9999931550702802], [0, 0, 0, 0, 0, 0, 2.283748241799531e-13, 4.037858874020686e-13, 2.146547464825323e-13, 5.461314069809755e-12, 4.921085770524055e-12, 4.343405037091838e-12, 3.732668368707687e-12, 3.093523840190885e-12, 2.430835727329466e-12, 1.734679010007751e-12, 9.74825365660928e-13, 2.797435120168326e-13, -5.456116108943413e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758253e-12, -2.858043359288075e-12, -2.156177623817898e-12, -1.475637723558782e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347913e-13, -6.423305872147834e-13, -9.400849094049688e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049688e-13, -6.423305872147841e-13, -2.382191739347918e-13]],
+ Z = z[Pe.SHORT_TYPE],
+ K = z[Pe.SHORT_TYPE],
+ G = z[Pe.SHORT_TYPE],
+ U = z[Pe.SHORT_TYPE],
+ Q = [0, 1, 16, 17, 8, 9, 24, 25, 4, 5, 20, 21, 12, 13, 28, 29, 2, 3, 18, 19, 10, 11, 26, 27, 6, 7, 22, 23, 14, 15, 30, 31];
+ function W(e, t, a) {
+ for (var s, n, r, i = 10, o = t + 238 - 14 - 286, _ = -15; _ < 0; _++) {
var l, f, c;
- l = u[i + -10], f = e[o + -224] * l, c = e[t + 224] * l, l = u[i + -9], f += e[o + -160] * l, c += e[t + 160] * l, l = u[i + -8], f += e[o + -96] * l, c += e[t + 96] * l, l = u[i + -7], f += e[o + -32] * l, c += e[t + 32] * l, l = u[i + -6], f += e[o + 32] * l, c += e[t + -32] * l, l = u[i + -5], f += e[o + 96] * l, c += e[t + -96] * l, l = u[i + -4], f += e[o + 160] * l, c += e[t + -160] * l, l = u[i + -3], f += e[o + 224] * l, c += e[t + -224] * l, l = u[i + -2], f += e[t + -256] * l, c -= e[o + 256] * l, l = u[i + -1], f += e[t + -192] * l, c -= e[o + 192] * l, l = u[i + 0], f += e[t + -128] * l, c -= e[o + 128] * l, l = u[i + 1], f += e[t + -64] * l, c -= e[o + 64] * l, l = u[i + 2], f += e[t + 0] * l, c -= e[o + 0] * l, l = u[i + 3], f += e[t + 64] * l, c -= e[o + -64] * l, l = u[i + 4], f += e[t + 128] * l, c -= e[o + -128] * l, l = u[i + 5], f += e[t + 192] * l, c -= e[o + -192] * l, f *= u[i + 6], l = c - f, a[30 + 2 * _] = c + f, a[31 + 2 * _] = u[i + 7] * l, i += 18, t--, o++;
+ l = h[i + -10], f = e[o + -224] * l, c = e[t + 224] * l, l = h[i + -9], f += e[o + -160] * l, c += e[t + 160] * l, l = h[i + -8], f += e[o + -96] * l, c += e[t + 96] * l, l = h[i + -7], f += e[o + -32] * l, c += e[t + 32] * l, l = h[i + -6], f += e[o + 32] * l, c += e[t + -32] * l, l = h[i + -5], f += e[o + 96] * l, c += e[t + -96] * l, l = h[i + -4], f += e[o + 160] * l, c += e[t + -160] * l, l = h[i + -3], f += e[o + 224] * l, c += e[t + -224] * l, l = h[i + -2], f += e[t + -256] * l, c -= e[o + 256] * l, l = h[i + -1], f += e[t + -192] * l, c -= e[o + 192] * l, l = h[i + 0], f += e[t + -128] * l, c -= e[o + 128] * l, l = h[i + 1], f += e[t + -64] * l, c -= e[o + 64] * l, l = h[i + 2], f += e[t + 0] * l, c -= e[o + 0] * l, l = h[i + 3], f += e[t + 64] * l, c -= e[o + -64] * l, l = h[i + 4], f += e[t + 128] * l, c -= e[o + -128] * l, l = h[i + 5], f += e[t + 192] * l, l = (c -= e[o + -192] * l) - (f *= h[i + 6]), a[30 + 2 * _] = c + f, a[31 + 2 * _] = h[i + 7] * l, i += 18, t--, o++;
}
- c = e[t + -16] * u[i + -10], f = e[t + -32] * u[i + -2], c += (e[t + -48] - e[t + 16]) * u[i + -9], f += e[t + -96] * u[i + -1], c += (e[t + -80] + e[t + 48]) * u[i + -8], f += e[t + -160] * u[i + 0], c += (e[t + -112] - e[t + 80]) * u[i + -7], f += e[t + -224] * u[i + 1], c += (e[t + -144] + e[t + 112]) * u[i + -6], f -= e[t + 32] * u[i + 2], c += (e[t + -176] - e[t + 144]) * u[i + -5], f -= e[t + 96] * u[i + 3], c += (e[t + -208] + e[t + 176]) * u[i + -4], f -= e[t + 160] * u[i + 4], c += (e[t + -240] - e[t + 208]) * u[i + -3], f -= e[t + 224], n = f - c, s = f + c, c = a[14], f = a[15] - c, a[31] = s + c, a[30] = n + f, a[15] = n - f, a[14] = s - c, r = a[28] - a[0], a[0] += a[28], a[28] = r * u[i + -36 + 7], r = a[29] - a[1], a[1] += a[29], a[29] = r * u[i + -36 + 7], r = a[26] - a[2], a[2] += a[26], a[26] = r * u[i + -72 + 7], r = a[27] - a[3], a[3] += a[27], a[27] = r * u[i + -72 + 7], r = a[24] - a[4], a[4] += a[24], a[24] = r * u[i + -108 + 7], r = a[25] - a[5], a[5] += a[25], a[25] = r * u[i + -108 + 7], r = a[22] - a[6], a[6] += a[22], a[22] = r * V.SQRT2, r = a[23] - a[7], a[7] += a[23], a[23] = r * V.SQRT2 - a[7], a[7] -= a[6], a[22] -= a[7], a[23] -= a[22], r = a[6], a[6] = a[31] - r, a[31] = a[31] + r, r = a[7], a[7] = a[30] - r, a[30] = a[30] + r, r = a[22], a[22] = a[15] - r, a[15] = a[15] + r, r = a[23], a[23] = a[14] - r, a[14] = a[14] + r, r = a[20] - a[8], a[8] += a[20], a[20] = r * u[i + -180 + 7], r = a[21] - a[9], a[9] += a[21], a[21] = r * u[i + -180 + 7], r = a[18] - a[10], a[10] += a[18], a[18] = r * u[i + -216 + 7], r = a[19] - a[11], a[11] += a[19], a[19] = r * u[i + -216 + 7], r = a[16] - a[12], a[12] += a[16], a[16] = r * u[i + -252 + 7], r = a[17] - a[13], a[13] += a[17], a[17] = r * u[i + -252 + 7], r = -a[20] + a[24], a[20] += a[24], a[24] = r * u[i + -216 + 7], r = -a[21] + a[25], a[21] += a[25], a[25] = r * u[i + -216 + 7], r = a[4] - a[8], a[4] += a[8], a[8] = r * u[i + -216 + 7], r = a[5] - a[9], a[5] += a[9], a[9] = r * u[i + -216 + 7], r = a[0] - a[12], a[0] += a[12], a[12] = r * u[i + -72 + 7], r = a[1] - a[13], a[1] += a[13], a[13] = r * u[i + -72 + 7], r = a[16] - a[28], a[16] += a[28], a[28] = r * u[i + -72 + 7], r = -a[17] + a[29], a[17] += a[29], a[29] = r * u[i + -72 + 7], r = V.SQRT2 * (a[2] - a[10]), a[2] += a[10], a[10] = r, r = V.SQRT2 * (a[3] - a[11]), a[3] += a[11], a[11] = r, r = V.SQRT2 * (-a[18] + a[26]), a[18] += a[26], a[26] = r - a[18], r = V.SQRT2 * (-a[19] + a[27]), a[19] += a[27], a[27] = r - a[19], r = a[2], a[19] -= a[3], a[3] -= r, a[2] = a[31] - r, a[31] += r, r = a[3], a[11] -= a[19], a[18] -= r, a[3] = a[30] - r, a[30] += r, r = a[18], a[27] -= a[11], a[19] -= r, a[18] = a[15] - r, a[15] += r, r = a[19], a[10] -= r, a[19] = a[14] - r, a[14] += r, r = a[10], a[11] -= r, a[10] = a[23] - r, a[23] += r, r = a[11], a[26] -= r, a[11] = a[22] - r, a[22] += r, r = a[26], a[27] -= r, a[26] = a[7] - r, a[7] += r, r = a[27], a[27] = a[6] - r, a[6] += r, r = V.SQRT2 * (a[0] - a[4]), a[0] += a[4], a[4] = r, r = V.SQRT2 * (a[1] - a[5]), a[1] += a[5], a[5] = r, r = V.SQRT2 * (a[16] - a[20]), a[16] += a[20], a[20] = r, r = V.SQRT2 * (a[17] - a[21]), a[17] += a[21], a[21] = r, r = -V.SQRT2 * (a[8] - a[12]), a[8] += a[12], a[12] = r - a[8], r = -V.SQRT2 * (a[9] - a[13]), a[9] += a[13], a[13] = r - a[9], r = -V.SQRT2 * (a[25] - a[29]), a[25] += a[29], a[29] = r - a[25], r = -V.SQRT2 * (a[24] + a[28]), a[24] -= a[28], a[28] = r - a[24], r = a[24] - a[16], a[24] = r, r = a[20] - r, a[20] = r, r = a[28] - r, a[28] = r, r = a[25] - a[17], a[25] = r, r = a[21] - r, a[21] = r, r = a[29] - r, a[29] = r, r = a[17] - a[1], a[17] = r, r = a[9] - r, a[9] = r, r = a[25] - r, a[25] = r, r = a[5] - r, a[5] = r, r = a[21] - r, a[21] = r, r = a[13] - r, a[13] = r, r = a[29] - r, a[29] = r, r = a[1] - a[0], a[1] = r, r = a[16] - r, a[16] = r, r = a[17] - r, a[17] = r, r = a[8] - r, a[8] = r, r = a[9] - r, a[9] = r, r = a[24] - r, a[24] = r, r = a[25] - r, a[25] = r, r = a[4] - r, a[4] = r, r = a[5] - r, a[5] = r, r = a[20] - r, a[20] = r, r = a[21] - r, a[21] = r, r = a[12] - r, a[12] = r, r = a[13] - r, a[13] = r, r = a[28] - r, a[28] = r, r = a[29] - r, a[29] = r, r = a[0], a[0] += a[31], a[31] -= r, r = a[1], a[1] += a[30], a[30] -= r, r = a[16], a[16] += a[15], a[15] -= r, r = a[17], a[17] += a[14], a[14] -= r, r = a[8], a[8] += a[23], a[23] -= r, r = a[9], a[9] += a[22], a[22] -= r, r = a[24], a[24] += a[7], a[7] -= r, r = a[25], a[25] += a[6], a[6] -= r, r = a[4], a[4] += a[27], a[27] -= r, r = a[5], a[5] += a[26], a[26] -= r, r = a[20], a[20] += a[11], a[11] -= r, r = a[21], a[21] += a[10], a[10] -= r, r = a[12], a[12] += a[19], a[19] -= r, r = a[13], a[13] += a[18], a[18] -= r, r = a[28], a[28] += a[3], a[3] -= r, r = a[29], a[29] += a[2], a[2] -= r;
+ c = e[t + -16] * h[i + -10], f = e[t + -32] * h[i + -2], c += (e[t + -48] - e[t + 16]) * h[i + -9], f += e[t + -96] * h[i + -1], c += (e[t + -80] + e[t + 48]) * h[i + -8], f += e[t + -160] * h[i + 0], c += (e[t + -112] - e[t + 80]) * h[i + -7], f += e[t + -224] * h[i + 1], c += (e[t + -144] + e[t + 112]) * h[i + -6], f -= e[t + 32] * h[i + 2], c += (e[t + -176] - e[t + 144]) * h[i + -5], f -= e[t + 96] * h[i + 3], c += (e[t + -208] + e[t + 176]) * h[i + -4], f -= e[t + 160] * h[i + 4], c += (e[t + -240] - e[t + 208]) * h[i + -3], s = (f -= e[t + 224]) - c, n = f + c, c = a[14], f = a[15] - c, a[31] = n + c, a[30] = s + f, a[15] = s - f, a[14] = n - c, r = a[28] - a[0], a[0] += a[28], a[28] = r * h[i + -36 + 7], r = a[29] - a[1], a[1] += a[29], a[29] = r * h[i + -36 + 7], r = a[26] - a[2], a[2] += a[26], a[26] = r * h[i + -72 + 7], r = a[27] - a[3], a[3] += a[27], a[27] = r * h[i + -72 + 7], r = a[24] - a[4], a[4] += a[24], a[24] = r * h[i + -108 + 7], r = a[25] - a[5], a[5] += a[25], a[25] = r * h[i + -108 + 7], r = a[22] - a[6], a[6] += a[22], a[22] = r * ee.SQRT2, r = a[23] - a[7], a[7] += a[23], a[23] = r * ee.SQRT2 - a[7], a[7] -= a[6], a[22] -= a[7], a[23] -= a[22], r = a[6], a[6] = a[31] - r, a[31] = a[31] + r, r = a[7], a[7] = a[30] - r, a[30] = a[30] + r, r = a[22], a[22] = a[15] - r, a[15] = a[15] + r, r = a[23], a[23] = a[14] - r, a[14] = a[14] + r, r = a[20] - a[8], a[8] += a[20], a[20] = r * h[i + -180 + 7], r = a[21] - a[9], a[9] += a[21], a[21] = r * h[i + -180 + 7], r = a[18] - a[10], a[10] += a[18], a[18] = r * h[i + -216 + 7], r = a[19] - a[11], a[11] += a[19], a[19] = r * h[i + -216 + 7], r = a[16] - a[12], a[12] += a[16], a[16] = r * h[i + -252 + 7], r = a[17] - a[13], a[13] += a[17], a[17] = r * h[i + -252 + 7], r = -a[20] + a[24], a[20] += a[24], a[24] = r * h[i + -216 + 7], r = -a[21] + a[25], a[21] += a[25], a[25] = r * h[i + -216 + 7], r = a[4] - a[8], a[4] += a[8], a[8] = r * h[i + -216 + 7], r = a[5] - a[9], a[5] += a[9], a[9] = r * h[i + -216 + 7], r = a[0] - a[12], a[0] += a[12], a[12] = r * h[i + -72 + 7], r = a[1] - a[13], a[1] += a[13], a[13] = r * h[i + -72 + 7], r = a[16] - a[28], a[16] += a[28], a[28] = r * h[i + -72 + 7], r = -a[17] + a[29], a[17] += a[29], a[29] = r * h[i + -72 + 7], r = ee.SQRT2 * (a[2] - a[10]), a[2] += a[10], a[10] = r, r = ee.SQRT2 * (a[3] - a[11]), a[3] += a[11], a[11] = r, r = ee.SQRT2 * (-a[18] + a[26]), a[18] += a[26], a[26] = r - a[18], r = ee.SQRT2 * (-a[19] + a[27]), a[19] += a[27], a[27] = r - a[19], r = a[2], a[19] -= a[3], a[3] -= r, a[2] = a[31] - r, a[31] += r, r = a[3], a[11] -= a[19], a[18] -= r, a[3] = a[30] - r, a[30] += r, r = a[18], a[27] -= a[11], a[19] -= r, a[18] = a[15] - r, a[15] += r, r = a[19], a[10] -= r, a[19] = a[14] - r, a[14] += r, r = a[10], a[11] -= r, a[10] = a[23] - r, a[23] += r, r = a[11], a[26] -= r, a[11] = a[22] - r, a[22] += r, r = a[26], a[27] -= r, a[26] = a[7] - r, a[7] += r, r = a[27], a[27] = a[6] - r, a[6] += r, r = ee.SQRT2 * (a[0] - a[4]), a[0] += a[4], a[4] = r, r = ee.SQRT2 * (a[1] - a[5]), a[1] += a[5], a[5] = r, r = ee.SQRT2 * (a[16] - a[20]), a[16] += a[20], a[20] = r, r = ee.SQRT2 * (a[17] - a[21]), a[17] += a[21], a[21] = r, r = -ee.SQRT2 * (a[8] - a[12]), a[8] += a[12], a[12] = r - a[8], r = -ee.SQRT2 * (a[9] - a[13]), a[9] += a[13], a[13] = r - a[9], r = -ee.SQRT2 * (a[25] - a[29]), a[25] += a[29], a[29] = r - a[25], r = -ee.SQRT2 * (a[24] + a[28]), a[24] -= a[28], a[28] = r - a[24], r = a[24] - a[16], a[24] = r, r = a[20] - r, a[20] = r, r = a[28] - r, a[28] = r, r = a[25] - a[17], a[25] = r, r = a[21] - r, a[21] = r, r = a[29] - r, a[29] = r, r = a[17] - a[1], a[17] = r, r = a[9] - r, a[9] = r, r = a[25] - r, a[25] = r, r = a[5] - r, a[5] = r, r = a[21] - r, a[21] = r, r = a[13] - r, a[13] = r, r = a[29] - r, a[29] = r, r = a[1] - a[0], a[1] = r, r = a[16] - r, a[16] = r, r = a[17] - r, a[17] = r, r = a[8] - r, a[8] = r, r = a[9] - r, a[9] = r, r = a[24] - r, a[24] = r, r = a[25] - r, a[25] = r, r = a[4] - r, a[4] = r, r = a[5] - r, a[5] = r, r = a[20] - r, a[20] = r, r = a[21] - r, a[21] = r, r = a[12] - r, a[12] = r, r = a[13] - r, a[13] = r, r = a[28] - r, a[28] = r, r = a[29] - r, a[29] = r, r = a[0], a[0] += a[31], a[31] -= r, r = a[1], a[1] += a[30], a[30] -= r, r = a[16], a[16] += a[15], a[15] -= r, r = a[17], a[17] += a[14], a[14] -= r, r = a[8], a[8] += a[23], a[23] -= r, r = a[9], a[9] += a[22], a[22] -= r, r = a[24], a[24] += a[7], a[7] -= r, r = a[25], a[25] += a[6], a[6] -= r, r = a[4], a[4] += a[27], a[27] -= r, r = a[5], a[5] += a[26], a[26] -= r, r = a[20], a[20] += a[11], a[11] -= r, r = a[21], a[21] += a[10], a[10] -= r, r = a[12], a[12] += a[19], a[19] -= r, r = a[13], a[13] += a[18], a[18] -= r, r = a[28], a[28] += a[3], a[3] -= r, r = a[29], a[29] += a[2], a[2] -= r;
}
- function E(e, t) {
+ function J(e, t) {
for (var a = 0; a < 3; a++) {
- var n, s, r, i, o, _;
- i = e[t + 6] * A[Ae.SHORT_TYPE][0] - e[t + 15], n = e[t + 0] * A[Ae.SHORT_TYPE][2] - e[t + 9], s = i + n, r = i - n, i = e[t + 15] * A[Ae.SHORT_TYPE][0] + e[t + 6], n = e[t + 9] * A[Ae.SHORT_TYPE][2] + e[t + 0], o = i + n, _ = -i + n, n = 2.069978111953089e-11 * (e[t + 3] * A[Ae.SHORT_TYPE][1] - e[t + 12]), i = 2.069978111953089e-11 * (e[t + 12] * A[Ae.SHORT_TYPE][1] + e[t + 3]), e[t + 0] = 1.90752519173728e-11 * s + n, e[t + 15] = 1.90752519173728e-11 * -o + i, r = .8660254037844387 * r * 1.907525191737281e-11, o = .5 * o * 1.907525191737281e-11 + i, e[t + 3] = r - o, e[t + 6] = r + o, s = .5 * s * 1.907525191737281e-11 - n, _ = .8660254037844387 * _ * 1.907525191737281e-11, e[t + 9] = s + _, e[t + 12] = s - _, t++;
+ var s, n, r, i, o, _;
+ n = (i = e[t + 6] * z[Pe.SHORT_TYPE][0] - e[t + 15]) + (s = e[t + 0] * z[Pe.SHORT_TYPE][2] - e[t + 9]), r = i - s, o = (i = e[t + 15] * z[Pe.SHORT_TYPE][0] + e[t + 6]) + (s = e[t + 9] * z[Pe.SHORT_TYPE][2] + e[t + 0]), _ = -i + s, s = 2.069978111953089e-11 * (e[t + 3] * z[Pe.SHORT_TYPE][1] - e[t + 12]), i = 2.069978111953089e-11 * (e[t + 12] * z[Pe.SHORT_TYPE][1] + e[t + 3]), e[t + 0] = 1.90752519173728e-11 * n + s, e[t + 15] = 1.90752519173728e-11 * -o + i, r = .8660254037844387 * r * 1.907525191737281e-11, o = .5 * o * 1.907525191737281e-11 + i, e[t + 3] = r - o, e[t + 6] = r + o, n = .5 * n * 1.907525191737281e-11 - s, _ = .8660254037844387 * _ * 1.907525191737281e-11, e[t + 9] = n + _, e[t + 12] = n - _, t++;
}
}
- function C(e, t, a) {
- var n, s, r, i, o, _, l, f, c, u, h, b, p, m, v, d, g, w;
- r = a[17] - a[9], o = a[15] - a[11], _ = a[14] - a[12], l = a[0] + a[8], f = a[1] + a[7], c = a[2] + a[6], u = a[3] + a[5], e[t + 17] = l + c - u - (f - a[4]), s = (l + c - u) * S[19] + (f - a[4]), n = (r - o - _) * S[18], e[t + 5] = n + s, e[t + 6] = n - s, i = (a[16] - a[10]) * S[18], f = f * S[19] + a[4], n = r * S[12] + i + o * S[13] + _ * S[14], s = -l * S[16] + f - c * S[17] + u * S[15], e[t + 1] = n + s, e[t + 2] = n - s, n = r * S[13] - i - o * S[14] + _ * S[12], s = -l * S[17] + f - c * S[15] + u * S[16], e[t + 9] = n + s, e[t + 10] = n - s, n = r * S[14] - i + o * S[12] - _ * S[13], s = l * S[15] - f + c * S[16] - u * S[17], e[t + 13] = n + s, e[t + 14] = n - s, h = a[8] - a[0], p = a[6] - a[2], m = a[5] - a[3], v = a[17] + a[9], d = a[16] + a[10], g = a[15] + a[11], w = a[14] + a[12], e[t + 0] = v + g + w + (d + a[13]), n = (v + g + w) * S[19] - (d + a[13]), s = (h - p + m) * S[18], e[t + 11] = n + s, e[t + 12] = n - s, b = (a[7] - a[1]) * S[18], d = a[13] - d * S[19], n = v * S[15] - d + g * S[16] + w * S[17], s = h * S[14] + b + p * S[12] + m * S[13], e[t + 3] = n + s, e[t + 4] = n - s, n = -v * S[17] + d - g * S[15] - w * S[16], s = h * S[13] + b - p * S[14] - m * S[12], e[t + 7] = n + s, e[t + 8] = n - s, n = -v * S[16] + d - g * S[17] - w * S[15], s = h * S[12] - b + p * S[13] - m * S[14], e[t + 15] = n + s, e[t + 16] = n - s;
- }
this.mdct_sub48 = function (e, t, a) {
- for (var n = t, s = 286, r = 0; r < e.channels_out; r++) {
- for (var i = 0; i < e.mode_gr; i++) {
- for (var o, _ = e.l3_side.tt[i][r], l = _.xr, f = 0, c = e.sb_sample[r][1 - i], u = 0, h = 0; h < 9; h++) for (T(n, s, c[u]), T(n, s + 32, c[u + 1]), u += 2, s += 64, o = 1; o < 32; o += 2) c[u - 1][o] *= -1;
- for (o = 0; o < 32; o++, f += 18) {
- var b = _.block_type,
- p = e.sb_sample[r][i],
- m = e.sb_sample[r][1 - i];
- if (0 != _.mixed_block_flag && o < 2 && (b = 0), e.amp_filter[o] < 1e-12) we.fill(l, f + 0, f + 18, 0);else if (e.amp_filter[o] < 1 && me(), b == Ae.SHORT_TYPE) {
- for (var h = -3; h < 0; h++) {
- var v = A[Ae.SHORT_TYPE][h + 3];
- l[f + 3 * h + 9] = p[9 + h][B[o]] * v - p[8 - h][B[o]], l[f + 3 * h + 18] = p[14 - h][B[o]] * v + p[15 + h][B[o]], l[f + 3 * h + 10] = p[15 + h][B[o]] * v - p[14 - h][B[o]], l[f + 3 * h + 19] = m[2 - h][B[o]] * v + m[3 + h][B[o]], l[f + 3 * h + 11] = m[3 + h][B[o]] * v - m[2 - h][B[o]], l[f + 3 * h + 20] = m[8 - h][B[o]] * v + m[9 + h][B[o]];
+ for (var s, n, r, i, o, _, l, f, c, h, u, m, p, b, v, d, g, S, M, w, R, A = t, B = 286, k = 0; k < e.channels_out; k++) {
+ for (var y = 0; y < e.mode_gr; y++) {
+ for (var T, x = e.l3_side.tt[y][k], E = x.xr, P = 0, L = e.sb_sample[k][1 - y], I = 0, H = 0; H < 9; H++) for (W(A, B, L[I]), W(A, B + 32, L[I + 1]), I += 2, B += 64, T = 1; T < 32; T += 2) L[I - 1][T] *= -1;
+ for (T = 0; T < 32; T++, P += 18) {
+ var C = x.block_type,
+ V = e.sb_sample[k][y],
+ O = e.sb_sample[k][1 - y];
+ if (0 != x.mixed_block_flag && T < 2 && (C = 0), e.amp_filter[T] < 1e-12) ye.fill(E, P + 0, P + 18, 0);else {
+ if (e.amp_filter[T] < 1) for (H = 0; H < 18; H++) O[H][Q[T]] *= e.amp_filter[T];
+ if (C == Pe.SHORT_TYPE) {
+ for (H = -3; H < 0; H++) {
+ var N = z[Pe.SHORT_TYPE][H + 3];
+ E[P + 3 * H + 9] = V[9 + H][Q[T]] * N - V[8 - H][Q[T]], E[P + 3 * H + 18] = V[14 - H][Q[T]] * N + V[15 + H][Q[T]], E[P + 3 * H + 10] = V[15 + H][Q[T]] * N - V[14 - H][Q[T]], E[P + 3 * H + 19] = O[2 - H][Q[T]] * N + O[3 + H][Q[T]], E[P + 3 * H + 11] = O[3 + H][Q[T]] * N - O[2 - H][Q[T]], E[P + 3 * H + 20] = O[8 - H][Q[T]] * N + O[9 + H][Q[T]];
+ }
+ J(E, P);
+ } else {
+ var D = Be(18);
+ for (H = -9; H < 0; H++) {
+ var Y, X;
+ Y = z[C][H + 27] * O[H + 9][Q[T]] + z[C][H + 36] * O[8 - H][Q[T]], X = z[C][H + 9] * V[H + 9][Q[T]] - z[C][H + 18] * V[8 - H][Q[T]], D[H + 9] = Y - X * Z[3 + H + 9], D[H + 18] = Y * Z[3 + H + 9] + X;
+ }
+ s = E, n = P, R = w = M = S = g = d = v = b = p = m = u = h = c = f = l = _ = o = i = void 0, _ = (r = D)[17] - r[9], f = r[15] - r[11], c = r[14] - r[12], h = r[0] + r[8], u = r[1] + r[7], m = r[2] + r[6], p = r[3] + r[5], s[n + 17] = h + m - p - (u - r[4]), o = (h + m - p) * K[19] + (u - r[4]), i = (_ - f - c) * K[18], s[n + 5] = i + o, s[n + 6] = i - o, l = (r[16] - r[10]) * K[18], u = u * K[19] + r[4], i = _ * K[12] + l + f * K[13] + c * K[14], o = -h * K[16] + u - m * K[17] + p * K[15], s[n + 1] = i + o, s[n + 2] = i - o, i = _ * K[13] - l - f * K[14] + c * K[12], o = -h * K[17] + u - m * K[15] + p * K[16], s[n + 9] = i + o, s[n + 10] = i - o, i = _ * K[14] - l + f * K[12] - c * K[13], o = h * K[15] - u + m * K[16] - p * K[17], s[n + 13] = i + o, s[n + 14] = i - o, b = r[8] - r[0], d = r[6] - r[2], g = r[5] - r[3], S = r[17] + r[9], M = r[16] + r[10], w = r[15] + r[11], R = r[14] + r[12], s[n + 0] = S + w + R + (M + r[13]), i = (S + w + R) * K[19] - (M + r[13]), o = (b - d + g) * K[18], s[n + 11] = i + o, s[n + 12] = i - o, v = (r[7] - r[1]) * K[18], M = r[13] - M * K[19], i = S * K[15] - M + w * K[16] + R * K[17], o = b * K[14] + v + d * K[12] + g * K[13], s[n + 3] = i + o, s[n + 4] = i - o, i = -S * K[17] + M - w * K[15] - R * K[16], o = b * K[13] + v - d * K[14] - g * K[12], s[n + 7] = i + o, s[n + 8] = i - o, i = -S * K[16] + M - w * K[17] - R * K[15], o = b * K[12] - v + d * K[13] - g * K[14], s[n + 15] = i + o, s[n + 16] = i - o;
}
- E(l, f);
- } else {
- for (var d = de(18), h = -9; h < 0; h++) {
- var g, w;
- g = A[b][h + 27] * m[h + 9][B[o]] + A[b][h + 36] * m[8 - h][B[o]], w = A[b][h + 9] * p[h + 9][B[o]] - A[b][h + 18] * p[8 - h][B[o]], d[h + 9] = g - w * k[3 + h + 9], d[h + 18] = g * k[3 + h + 9] + w;
- }
- C(l, f, d);
}
- if (b != Ae.SHORT_TYPE && 0 != o) for (var h = 7; 0 <= h; --h) {
- var S, M;
- S = l[f + h] * R[20 + h] + l[f + -1 - h] * x[28 + h], M = l[f + h] * x[28 + h] - l[f + -1 - h] * R[20 + h], l[f + -1 - h] = S, l[f + h] = M;
+ if (C != Pe.SHORT_TYPE && 0 != T) for (H = 7; 0 <= H; --H) {
+ var q, F;
+ q = E[P + H] * G[20 + H] + E[P + -1 - H] * U[28 + H], F = E[P + H] * U[28 + H] - E[P + -1 - H] * G[20 + H], E[P + -1 - H] = q, E[P + H] = F;
}
}
}
- if (n = a, s = 286, 1 == e.mode_gr) for (var y = 0; y < 18; y++) I.arraycopy(e.sb_sample[r][1][y], 0, e.sb_sample[r][0][y], 0, 32);
+ if (A = a, B = 286, 1 == e.mode_gr) for (var j = 0; j < 18; j++) $.arraycopy(e.sb_sample[k][1][j], 0, e.sb_sample[k][0][j], 0, 32);
}
};
}();
- this.lame_encode_mp3_frame = function (e, t, a, n, s, r) {
+ this.lame_encode_mp3_frame = function (e, t, a, s, n, r) {
var i,
- o = E([2, 2]);
- o[0][0] = new L(), o[0][1] = new L(), o[1][0] = new L(), o[1][1] = new L();
+ o = O([2, 2]);
+ o[0][0] = new N(), o[0][1] = new N(), o[1][0] = new N(), o[1][1] = new N();
var _,
- l = E([2, 2]);
- l[0][0] = new L(), l[0][1] = new L(), l[1][0] = new L(), l[1][1] = new L();
+ l = O([2, 2]);
+ l[0][0] = new N(), l[0][1] = new N(), l[1][0] = new N(), l[1][1] = new N();
var f,
c,
- u,
- h = [null, null],
- b = e.internal_flags,
- p = ge([2, 4]),
- m = [[0, 0], [0, 0]],
- v = [[0, 0], [0, 0]];
- if (h[0] = t, h[1] = a, 0 == b.lame_encode_frame_init && function (e, t) {
+ h,
+ u = [null, null],
+ m = e.internal_flags,
+ p = ke([2, 4]),
+ b = [.5, .5],
+ v = [[0, 0], [0, 0]],
+ d = [[0, 0], [0, 0]];
+ if (u[0] = t, u[1] = a, 0 == m.lame_encode_frame_init && function (e, t) {
var a,
- n,
- s = e.internal_flags;
- if (0 == s.lame_encode_frame_init) {
+ s,
+ n = e.internal_flags;
+ if (0 == n.lame_encode_frame_init) {
var r,
i,
- o = de(2014),
- _ = de(2014);
- for (s.lame_encode_frame_init = 1, i = r = 0; r < 286 + 576 * (1 + s.mode_gr); ++r) r < 576 * s.mode_gr ? (o[r] = 0, 2 == s.channels_out && (_[r] = 0)) : (o[r] = t[0][i], 2 == s.channels_out && (_[r] = t[1][i]), ++i);
- for (n = 0; n < s.mode_gr; n++) for (a = 0; a < s.channels_out; a++) s.l3_side.tt[n][a].block_type = Ae.SHORT_TYPE;
- T.mdct_sub48(s, o, _);
+ o = Be(2014),
+ _ = Be(2014);
+ for (n.lame_encode_frame_init = 1, i = r = 0; r < 286 + 576 * (1 + n.mode_gr); ++r) r < 576 * n.mode_gr ? (o[r] = 0, 2 == n.channels_out && (_[r] = 0)) : (o[r] = t[0][i], 2 == n.channels_out && (_[r] = t[1][i]), ++i);
+ for (s = 0; s < n.mode_gr; s++) for (a = 0; a < n.channels_out; a++) n.l3_side.tt[s][a].block_type = Pe.SHORT_TYPE;
+ V.mdct_sub48(n, o, _);
}
- }(e, h), b.padding = 0, (b.slot_lag -= b.frac_SpF) < 0 && (b.slot_lag += e.out_samplerate, b.padding = 1), 0 != b.psymodel) {
- var d,
- g = [null, null],
- w = 0,
- S = ve(2);
- for (u = 0; u < b.mode_gr; u++) {
- for (c = 0; c < b.channels_out; c++) g[c] = h[c], w = 576 + 576 * u - Ae.FFTOFFSET;
- if (e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? me() : d = x.L3psycho_anal_ns(e, g, w, u, o, l, m[u], v[u], p[u], S), 0 != d) return -4;
- for (e.mode == ye.JOINT_STEREO && me(), c = 0; c < b.channels_out; c++) {
- var M = b.l3_side.tt[u][c];
- M.block_type = S[c], M.mixed_block_flag = 0;
+ }(e, u), m.padding = 0, (m.slot_lag -= m.frac_SpF) < 0 && (m.slot_lag += e.out_samplerate, m.padding = 1), 0 != m.psymodel) {
+ var g = [null, null],
+ S = 0,
+ M = Ae(2);
+ for (h = 0; h < m.mode_gr; h++) {
+ for (c = 0; c < m.channels_out; c++) g[c] = u[c], S = 576 + 576 * h - Pe.FFTOFFSET;
+ if (0 != (e.VBR == xe.vbr_mtrh || e.VBR == xe.vbr_mt ? I.L3psycho_anal_vbr(e, g, S, h, o, l, v[h], d[h], p[h], M) : I.L3psycho_anal_ns(e, g, S, h, o, l, v[h], d[h], p[h], M))) return -4;
+ for (e.mode == Ee.JOINT_STEREO && (b[h] = p[h][2] + p[h][3], 0 < b[h] && (b[h] = p[h][3] / b[h])), c = 0; c < m.channels_out; c++) {
+ var w = m.l3_side.tt[h][c];
+ w.block_type = M[c], w.mixed_block_flag = 0;
}
}
- } else me();
+ } else for (h = 0; h < m.mode_gr; h++) for (c = 0; c < m.channels_out; c++) m.l3_side.tt[h][c].block_type = Pe.NORM_TYPE, m.l3_side.tt[h][c].mixed_block_flag = 0, d[h][c] = v[h][c] = 700;
if (function (e) {
var t, a;
- if (0 == e.ATH.useAdjust) return e.ATH.adjust = 1;
- if (a = e.loudness_sq[0][0], t = e.loudness_sq[1][0], 2 == e.channels_out ? me() : (a += a, t += t), 2 == e.mode_gr && (a = Math.max(a, t)), a *= .5, .03125 < (a *= e.ATH.aaSensitivityP)) 1 <= e.ATH.adjust ? e.ATH.adjust = 1 : e.ATH.adjust < e.ATH.adjustLimit && (e.ATH.adjust = e.ATH.adjustLimit), e.ATH.adjustLimit = 1;else {
- var n = 31.98 * a + 625e-6;
- e.ATH.adjust >= n ? (e.ATH.adjust *= .075 * n + .925, e.ATH.adjust < n && (e.ATH.adjust = n)) : e.ATH.adjustLimit >= n ? e.ATH.adjust = n : e.ATH.adjust < e.ATH.adjustLimit && (e.ATH.adjust = e.ATH.adjustLimit), e.ATH.adjustLimit = n;
+ if (0 != e.ATH.useAdjust) {
+ if (a = e.loudness_sq[0][0], t = e.loudness_sq[1][0], 2 == e.channels_out ? (a += e.loudness_sq[0][1], t += e.loudness_sq[1][1]) : (a += a, t += t), 2 == e.mode_gr && (a = Math.max(a, t)), a *= .5, .03125 < (a *= e.ATH.aaSensitivityP)) 1 <= e.ATH.adjust ? e.ATH.adjust = 1 : e.ATH.adjust < e.ATH.adjustLimit && (e.ATH.adjust = e.ATH.adjustLimit), e.ATH.adjustLimit = 1;else {
+ var s = 31.98 * a + 625e-6;
+ e.ATH.adjust >= s ? (e.ATH.adjust *= .075 * s + .925, e.ATH.adjust < s && (e.ATH.adjust = s)) : e.ATH.adjustLimit >= s ? e.ATH.adjust = s : e.ATH.adjust < e.ATH.adjustLimit && (e.ATH.adjust = e.ATH.adjustLimit), e.ATH.adjustLimit = s;
+ }
+ } else e.ATH.adjust = 1;
+ }(m), V.mdct_sub48(m, u[0], u[1]), m.mode_ext = Pe.MPG_MD_LR_LR, e.force_ms) m.mode_ext = Pe.MPG_MD_MS_LR;else if (e.mode == Ee.JOINT_STEREO) {
+ var R = 0,
+ A = 0;
+ for (h = 0; h < m.mode_gr; h++) for (c = 0; c < m.channels_out; c++) R += d[h][c], A += v[h][c];
+ if (R <= 1 * A) {
+ var B = m.l3_side.tt[0],
+ k = m.l3_side.tt[m.mode_gr - 1];
+ B[0].block_type == B[1].block_type && k[0].block_type == k[1].block_type && (m.mode_ext = Pe.MPG_MD_MS_LR);
}
- }(b), T.mdct_sub48(b, h[0], h[1]), b.mode_ext = Ae.MPG_MD_LR_LR, e.force_ms ? b.mode_ext = Ae.MPG_MD_MS_LR : e.mode == ye.JOINT_STEREO && me(), b.mode_ext == k ? (_ = l, f = v) : (_ = o, f = m), e.analysis && null != b.pinfo && me(), e.VBR == Me.vbr_off || e.VBR == Me.vbr_abr) {
- var y, A;
- for (y = 0; y < 18; y++) b.nsPsy.pefirbuf[y] = b.nsPsy.pefirbuf[y + 1];
- for (u = A = 0; u < b.mode_gr; u++) for (c = 0; c < b.channels_out; c++) A += f[u][c];
- for (b.nsPsy.pefirbuf[18] = A, A = b.nsPsy.pefirbuf[9], y = 0; y < 9; y++) A += (b.nsPsy.pefirbuf[y] + b.nsPsy.pefirbuf[18 - y]) * Ae.fircoef[y];
- for (A = 3350 * b.mode_gr * b.channels_out / A, u = 0; u < b.mode_gr; u++) for (c = 0; c < b.channels_out; c++) f[u][c] *= A;
}
- return b.iteration_loop.iteration_loop(e, f, [.5, .5], _), R.format_bitstream(e), i = R.copy_buffer(b, n, s, r, 1), e.bWriteVbrTag && B.addVbrFrame(e), e.analysis && null != b.pinfo && me(), function (e) {
- var t, a;
- for (e.bitrate_stereoMode_Hist[e.bitrate_index][4]++, e.bitrate_stereoMode_Hist[15][4]++, 2 == e.channels_out && me(), t = 0; t < e.mode_gr; ++t) for (a = 0; a < e.channels_out; ++a) {
- var n = 0 | e.l3_side.tt[t][a].block_type;
- 0 != e.l3_side.tt[t][a].mixed_block_flag && (n = 4), e.bitrate_blockType_Hist[e.bitrate_index][n]++, e.bitrate_blockType_Hist[e.bitrate_index][5]++, e.bitrate_blockType_Hist[15][n]++, e.bitrate_blockType_Hist[15][5]++;
+ if (m.mode_ext == P ? (_ = l, f = d) : (_ = o, f = v), e.analysis && null != m.pinfo) for (h = 0; h < m.mode_gr; h++) for (c = 0; c < m.channels_out; c++) m.pinfo.ms_ratio[h] = m.ms_ratio[h], m.pinfo.ms_ener_ratio[h] = b[h], m.pinfo.blocktype[h][c] = m.l3_side.tt[h][c].block_type, m.pinfo.pe[h][c] = f[h][c], $.arraycopy(m.l3_side.tt[h][c].xr, 0, m.pinfo.xr[h][c], 0, 576), m.mode_ext == P && (m.pinfo.ers[h][c] = m.pinfo.ers[h][c + 2], $.arraycopy(m.pinfo.energy[h][c + 2], 0, m.pinfo.energy[h][c], 0, m.pinfo.energy[h][c].length));
+ if (e.VBR == xe.vbr_off || e.VBR == xe.vbr_abr) {
+ var y, T;
+ for (y = 0; y < 18; y++) m.nsPsy.pefirbuf[y] = m.nsPsy.pefirbuf[y + 1];
+ for (h = T = 0; h < m.mode_gr; h++) for (c = 0; c < m.channels_out; c++) T += f[h][c];
+ for (m.nsPsy.pefirbuf[18] = T, T = m.nsPsy.pefirbuf[9], y = 0; y < 9; y++) T += (m.nsPsy.pefirbuf[y] + m.nsPsy.pefirbuf[18 - y]) * Pe.fircoef[y];
+ for (T = 3350 * m.mode_gr * m.channels_out / T, h = 0; h < m.mode_gr; h++) for (c = 0; c < m.channels_out; c++) f[h][c] *= T;
+ }
+ if (m.iteration_loop.iteration_loop(e, f, b, _), L.format_bitstream(e), i = L.copy_buffer(m, s, n, r, 1), e.bWriteVbrTag && H.addVbrFrame(e), e.analysis && null != m.pinfo) {
+ for (c = 0; c < m.channels_out; c++) {
+ var x;
+ for (x = 0; x < E; x++) m.pinfo.pcmdata[c][x] = m.pinfo.pcmdata[c][x + e.framesize];
+ for (x = E; x < 1600; x++) m.pinfo.pcmdata[c][x] = u[c][x - E];
}
- }(b), i;
+ C.set_frame_pinfo(e, _);
+ }
+ return function (e) {
+ var t, a;
+ for (e.bitrate_stereoMode_Hist[e.bitrate_index][4]++, e.bitrate_stereoMode_Hist[15][4]++, 2 == e.channels_out && (e.bitrate_stereoMode_Hist[e.bitrate_index][e.mode_ext]++, e.bitrate_stereoMode_Hist[15][e.mode_ext]++), t = 0; t < e.mode_gr; ++t) for (a = 0; a < e.channels_out; ++a) {
+ var s = 0 | e.l3_side.tt[t][a].block_type;
+ 0 != e.l3_side.tt[t][a].mixed_block_flag && (s = 4), e.bitrate_blockType_Hist[e.bitrate_index][s]++, e.bitrate_blockType_Hist[e.bitrate_index][5]++, e.bitrate_blockType_Hist[15][s]++, e.bitrate_blockType_Hist[15][5]++;
+ }
+ }(m), i;
};
}
function i() {
- this.l = de(Ae.SBMAX_l), this.s = ge([Ae.SBMAX_s, 3]);
- var n = this;
+ this.l = Be(Pe.SBMAX_l), this.s = ke([Pe.SBMAX_s, 3]);
+ var s = this;
this.assign = function (e) {
- I.arraycopy(e.l, 0, n.l, 0, Ae.SBMAX_l);
- for (var t = 0; t < Ae.SBMAX_s; t++) for (var a = 0; a < 3; a++) n.s[t][a] = e.s[t][a];
+ $.arraycopy(e.l, 0, s.l, 0, Pe.SBMAX_l);
+ for (var t = 0; t < Pe.SBMAX_s; t++) for (var a = 0; a < 3; a++) s.s[t][a] = e.s[t][a];
};
}
- function j() {
+ function Z() {
var e = 40;
function t() {
- this.write_timing = 0, this.ptr = 0, this.buf = S(e);
+ this.write_timing = 0, this.ptr = 0, this.buf = A(e);
}
- this.Class_ID = 0, this.lame_encode_frame_init = 0, this.iteration_init_init = 0, this.fill_buffer_resample_init = 0, this.mfbuf = ge([2, j.MFSIZE]), this.mode_gr = 0, this.channels_in = 0, this.channels_out = 0, this.resample_ratio = 0, this.mf_samples_to_encode = 0, this.mf_size = 0, this.VBR_min_bitrate = 0, this.VBR_max_bitrate = 0, this.bitrate_index = 0, this.samplerate_index = 0, this.mode_ext = 0, this.lowpass1 = 0, this.lowpass2 = 0, this.highpass1 = 0, this.highpass2 = 0, this.noise_shaping = 0, this.noise_shaping_amp = 0, this.substep_shaping = 0, this.psymodel = 0, this.noise_shaping_stop = 0, this.subblock_gain = 0, this.use_best_huffman = 0, this.full_outer_loop = 0, this.l3_side = new function () {
- this.tt = [[null, null], [null, null]], this.main_data_begin = 0, this.private_bits = 0, this.resvDrain_pre = 0, this.resvDrain_post = 0, this.scfsi = [ve(4), ve(4)];
- for (var e = 0; e < 2; e++) for (var t = 0; t < 2; t++) this.tt[e][t] = new B();
- }(), this.ms_ratio = de(2), this.padding = 0, this.frac_SpF = 0, this.slot_lag = 0, this.tag_spec = null, this.nMusicCRC = 0, this.OldValue = ve(2), this.CurrentStep = ve(2), this.masking_lower = 0, this.bv_scf = ve(576), this.pseudohalf = ve(F.SFBMAX), this.sfb21_extra = !1, this.inbuf_old = new Array(2), this.blackfilt = new Array(2 * j.BPC + 1), this.itime = n(2), this.sideinfo_len = 0, this.sb_sample = ge([2, 2, 18, Ae.SBLIMIT]), this.amp_filter = de(32), this.header = new Array(j.MAX_HEADER_BUF), this.h_ptr = 0, this.w_ptr = 0, this.ancillary_flag = 0, this.ResvSize = 0, this.ResvMax = 0, this.scalefac_band = new r(), this.minval_l = de(Ae.CBANDS), this.minval_s = de(Ae.CBANDS), this.nb_1 = ge([4, Ae.CBANDS]), this.nb_2 = ge([4, Ae.CBANDS]), this.nb_s1 = ge([4, Ae.CBANDS]), this.nb_s2 = ge([4, Ae.CBANDS]), this.s3_ss = null, this.s3_ll = null, this.decay = 0, this.thm = new Array(4), this.en = new Array(4), this.tot_ener = de(4), this.loudness_sq = ge([2, 2]), this.loudness_sq_save = de(2), this.mld_l = de(Ae.SBMAX_l), this.mld_s = de(Ae.SBMAX_s), this.bm_l = ve(Ae.SBMAX_l), this.bo_l = ve(Ae.SBMAX_l), this.bm_s = ve(Ae.SBMAX_s), this.bo_s = ve(Ae.SBMAX_s), this.npart_l = 0, this.npart_s = 0, this.s3ind = w([Ae.CBANDS, 2]), this.s3ind_s = w([Ae.CBANDS, 2]), this.numlines_s = ve(Ae.CBANDS), this.numlines_l = ve(Ae.CBANDS), this.rnumlines_l = de(Ae.CBANDS), this.mld_cb_l = de(Ae.CBANDS), this.mld_cb_s = de(Ae.CBANDS), this.numlines_s_num1 = 0, this.numlines_l_num1 = 0, this.pe = de(4), this.ms_ratio_s_old = 0, this.ms_ratio_l_old = 0, this.ms_ener_ratio_old = 0, this.blocktype_old = ve(2), this.nsPsy = new function () {
- this.last_en_subshort = ge([4, 9]), this.lastAttacks = ve(4), this.pefirbuf = de(19), this.longfact = de(Ae.SBMAX_l), this.shortfact = de(Ae.SBMAX_s), this.attackthre = 0, this.attackthre_s = 0;
+ this.Class_ID = 0, this.lame_encode_frame_init = 0, this.iteration_init_init = 0, this.fill_buffer_resample_init = 0, this.mfbuf = ke([2, Z.MFSIZE]), this.mode_gr = 0, this.channels_in = 0, this.channels_out = 0, this.resample_ratio = 0, this.mf_samples_to_encode = 0, this.mf_size = 0, this.VBR_min_bitrate = 0, this.VBR_max_bitrate = 0, this.bitrate_index = 0, this.samplerate_index = 0, this.mode_ext = 0, this.lowpass1 = 0, this.lowpass2 = 0, this.highpass1 = 0, this.highpass2 = 0, this.noise_shaping = 0, this.noise_shaping_amp = 0, this.substep_shaping = 0, this.psymodel = 0, this.noise_shaping_stop = 0, this.subblock_gain = 0, this.use_best_huffman = 0, this.full_outer_loop = 0, this.l3_side = new function () {
+ this.tt = [[null, null], [null, null]], this.main_data_begin = 0, this.private_bits = 0, this.resvDrain_pre = 0, this.resvDrain_post = 0, this.scfsi = [Ae(4), Ae(4)];
+ for (var e = 0; e < 2; e++) for (var t = 0; t < 2; t++) this.tt[e][t] = new T();
+ }(), this.ms_ratio = Be(2), this.padding = 0, this.frac_SpF = 0, this.slot_lag = 0, this.tag_spec = null, this.nMusicCRC = 0, this.OldValue = Ae(2), this.CurrentStep = Ae(2), this.masking_lower = 0, this.bv_scf = Ae(576), this.pseudohalf = Ae(z.SFBMAX), this.sfb21_extra = !1, this.inbuf_old = new Array(2), this.blackfilt = new Array(2 * Z.BPC + 1), this.itime = s(2), this.sideinfo_len = 0, this.sb_sample = ke([2, 2, 18, Pe.SBLIMIT]), this.amp_filter = Be(32), this.header = new Array(Z.MAX_HEADER_BUF), this.h_ptr = 0, this.w_ptr = 0, this.ancillary_flag = 0, this.ResvSize = 0, this.ResvMax = 0, this.scalefac_band = new r(), this.minval_l = Be(Pe.CBANDS), this.minval_s = Be(Pe.CBANDS), this.nb_1 = ke([4, Pe.CBANDS]), this.nb_2 = ke([4, Pe.CBANDS]), this.nb_s1 = ke([4, Pe.CBANDS]), this.nb_s2 = ke([4, Pe.CBANDS]), this.s3_ss = null, this.s3_ll = null, this.decay = 0, this.thm = new Array(4), this.en = new Array(4), this.tot_ener = Be(4), this.loudness_sq = ke([2, 2]), this.loudness_sq_save = Be(2), this.mld_l = Be(Pe.SBMAX_l), this.mld_s = Be(Pe.SBMAX_s), this.bm_l = Ae(Pe.SBMAX_l), this.bo_l = Ae(Pe.SBMAX_l), this.bm_s = Ae(Pe.SBMAX_s), this.bo_s = Ae(Pe.SBMAX_s), this.npart_l = 0, this.npart_s = 0, this.s3ind = Y([Pe.CBANDS, 2]), this.s3ind_s = Y([Pe.CBANDS, 2]), this.numlines_s = Ae(Pe.CBANDS), this.numlines_l = Ae(Pe.CBANDS), this.rnumlines_l = Be(Pe.CBANDS), this.mld_cb_l = Be(Pe.CBANDS), this.mld_cb_s = Be(Pe.CBANDS), this.numlines_s_num1 = 0, this.numlines_l_num1 = 0, this.pe = Be(4), this.ms_ratio_s_old = 0, this.ms_ratio_l_old = 0, this.ms_ener_ratio_old = 0, this.blocktype_old = Ae(2), this.nsPsy = new function () {
+ this.last_en_subshort = ke([4, 9]), this.lastAttacks = Ae(4), this.pefirbuf = Be(19), this.longfact = Be(Pe.SBMAX_l), this.shortfact = Be(Pe.SBMAX_s), this.attackthre = 0, this.attackthre_s = 0;
}(), this.VBR_seek_table = new function () {
this.sum = 0, this.seen = 0, this.want = 0, this.pos = 0, this.size = 0, this.bag = null, this.nVbrNumFrames = 0, this.nBytesWritten = 0, this.TotalFrameSize = 0;
- }(), this.ATH = null, this.PSY = null, this.nogap_total = 0, this.nogap_current = 0, this.decode_on_the_fly = !0, this.findReplayGain = !0, this.findPeakSample = !0, this.PeakSample = 0, this.RadioGain = 0, this.AudiophileGain = 0, this.rgdata = null, this.noclipGainChange = 0, this.noclipScale = 0, this.bitrate_stereoMode_Hist = w([16, 5]), this.bitrate_blockType_Hist = w([16, 6]), this.pinfo = null, this.hip = null, this.in_buffer_nsamples = 0, this.in_buffer_0 = null, this.in_buffer_1 = null, this.iteration_loop = null;
+ }(), this.ATH = null, this.PSY = null, this.nogap_total = 0, this.nogap_current = 0, this.decode_on_the_fly = !0, this.findReplayGain = !0, this.findPeakSample = !0, this.PeakSample = 0, this.RadioGain = 0, this.AudiophileGain = 0, this.rgdata = null, this.noclipGainChange = 0, this.noclipScale = 0, this.bitrate_stereoMode_Hist = Y([16, 5]), this.bitrate_blockType_Hist = Y([16, 6]), this.pinfo = null, this.hip = null, this.in_buffer_nsamples = 0, this.in_buffer_0 = null, this.in_buffer_1 = null, this.iteration_loop = null;
for (var a = 0; a < this.en.length; a++) this.en[a] = new i();
- for (var a = 0; a < this.thm.length; a++) this.thm[a] = new i();
- for (var a = 0; a < this.header.length; a++) this.header[a] = new t();
+ for (a = 0; a < this.thm.length; a++) this.thm[a] = new i();
+ for (a = 0; a < this.header.length; a++) this.header[a] = new t();
}
- function X() {
- var k = new function () {
- var h = de(Ae.BLKSIZE),
- p = de(Ae.BLKSIZE_s / 2),
- x = [.9238795325112867, .3826834323650898, .9951847266721969, .0980171403295606, .9996988186962042, .02454122852291229, .9999811752826011, .006135884649154475];
- function m(e, t, a) {
- var n,
- s,
+ function G() {
+ var B = new function () {
+ var u = Be(Pe.BLKSIZE),
+ p = Be(Pe.BLKSIZE_s / 2),
+ y = [.9238795325112867, .3826834323650898, .9951847266721969, .0980171403295606, .9996988186962042, .02454122852291229, .9999811752826011, .006135884649154475];
+ function b(e, t, a) {
+ var s,
+ n,
r,
i = 0,
o = t + (a <<= 1);
- n = 4;
+ s = 4;
do {
- var _, l, f, c, u, h, b;
- for (b = n >> 1, h = (u = (c = n) << 1) + c, n = u << 1, r = (s = t) + b; S = e[s + 0] - e[s + c], w = e[s + 0] + e[s + c], k = e[s + u] - e[s + h], y = e[s + u] + e[s + h], e[s + u] = w - y, e[s + 0] = w + y, e[s + h] = S - k, e[s + c] = S + k, S = e[r + 0] - e[r + c], w = e[r + 0] + e[r + c], k = V.SQRT2 * e[r + h], y = V.SQRT2 * e[r + u], e[r + u] = w - y, e[r + 0] = w + y, e[r + h] = S - k, e[r + c] = S + k, r += n, (s += n) < o;);
- for (l = x[i + 0], _ = x[i + 1], f = 1; f < b; f++) {
- var p, m;
- p = 1 - 2 * _ * _, m = 2 * _ * l, s = t + f, r = t + c - f;
+ var _, l, f, c, h, u, m;
+ for (m = s >> 1, u = (h = (c = s) << 1) + c, s = h << 1, r = (n = t) + m; M = e[n + 0] - e[n + c], S = e[n + 0] + e[n + c], B = e[n + h] - e[n + u], R = e[n + h] + e[n + u], e[n + h] = S - R, e[n + 0] = S + R, e[n + u] = M - B, e[n + c] = M + B, M = e[r + 0] - e[r + c], S = e[r + 0] + e[r + c], B = ee.SQRT2 * e[r + u], R = ee.SQRT2 * e[r + h], e[r + h] = S - R, e[r + 0] = S + R, e[r + u] = M - B, e[r + c] = M + B, r += s, (n += s) < o;);
+ for (l = y[i + 0], _ = y[i + 1], f = 1; f < m; f++) {
+ var p, b;
+ p = 1 - 2 * _ * _, b = 2 * _ * l, n = t + f, r = t + c - f;
do {
- var v, d, g, w, S, M, y, A, k, R;
- d = m * e[s + c] - p * e[r + c], v = p * e[s + c] + m * e[r + c], S = e[s + 0] - v, w = e[s + 0] + v, M = e[r + 0] - d, g = e[r + 0] + d, d = m * e[s + h] - p * e[r + h], v = p * e[s + h] + m * e[r + h], k = e[s + u] - v, y = e[s + u] + v, R = e[r + u] - d, A = e[r + u] + d, d = _ * y - l * R, v = l * y + _ * R, e[s + u] = w - v, e[s + 0] = w + v, e[r + h] = M - d, e[r + c] = M + d, d = l * A - _ * k, v = _ * A + l * k, e[r + u] = g - v, e[r + 0] = g + v, e[s + h] = S - d, e[s + c] = S + d, r += n, s += n;
- } while (s < o);
- l = (p = l) * x[i + 0] - _ * x[i + 1], _ = p * x[i + 1] + _ * x[i + 0];
+ var v, d, g, S, M, w, R, A, B, k;
+ d = b * e[n + c] - p * e[r + c], v = p * e[n + c] + b * e[r + c], M = e[n + 0] - v, S = e[n + 0] + v, w = e[r + 0] - d, g = e[r + 0] + d, d = b * e[n + u] - p * e[r + u], v = p * e[n + u] + b * e[r + u], B = e[n + h] - v, R = e[n + h] + v, k = e[r + h] - d, A = e[r + h] + d, d = _ * R - l * k, v = l * R + _ * k, e[n + h] = S - v, e[n + 0] = S + v, e[r + u] = w - d, e[r + c] = w + d, d = l * A - _ * B, v = _ * A + l * B, e[r + h] = g - v, e[r + 0] = g + v, e[n + u] = M - d, e[n + c] = M + d, r += s, n += s;
+ } while (n < o);
+ l = (p = l) * y[i + 0] - _ * y[i + 1], _ = p * y[i + 1] + _ * y[i + 0];
}
i += 2;
- } while (n < a);
+ } while (s < a);
}
var v = [0, 128, 64, 192, 32, 160, 96, 224, 16, 144, 80, 208, 48, 176, 112, 240, 8, 136, 72, 200, 40, 168, 104, 232, 24, 152, 88, 216, 56, 184, 120, 248, 4, 132, 68, 196, 36, 164, 100, 228, 20, 148, 84, 212, 52, 180, 116, 244, 12, 140, 76, 204, 44, 172, 108, 236, 28, 156, 92, 220, 60, 188, 124, 252, 2, 130, 66, 194, 34, 162, 98, 226, 18, 146, 82, 210, 50, 178, 114, 242, 10, 138, 74, 202, 42, 170, 106, 234, 26, 154, 90, 218, 58, 186, 122, 250, 6, 134, 70, 198, 38, 166, 102, 230, 22, 150, 86, 214, 54, 182, 118, 246, 14, 142, 78, 206, 46, 174, 110, 238, 30, 158, 94, 222, 62, 190, 126, 254];
- this.fft_short = function (e, t, a, n, s) {
+ this.fft_short = function (e, t, a, s, n) {
for (var r = 0; r < 3; r++) {
- var i = Ae.BLKSIZE_s / 2,
+ var i = Pe.BLKSIZE_s / 2,
o = 65535 & 192 * (r + 1),
- _ = Ae.BLKSIZE_s / 8 - 1;
+ _ = Pe.BLKSIZE_s / 8 - 1;
do {
var l,
f,
c,
- u,
h,
- b = 255 & v[_ << 2];
- l = p[b] * n[a][s + b + o], h = p[127 - b] * n[a][s + b + o + 128], f = l - h, l += h, c = p[b + 64] * n[a][s + b + o + 64], h = p[63 - b] * n[a][s + b + o + 192], u = c - h, c += h, i -= 4, t[r][i + 0] = l + c, t[r][i + 2] = l - c, t[r][i + 1] = f + u, t[r][i + 3] = f - u, l = p[b + 1] * n[a][s + b + o + 1], h = p[126 - b] * n[a][s + b + o + 129], f = l - h, l += h, c = p[b + 65] * n[a][s + b + o + 65], h = p[62 - b] * n[a][s + b + o + 193], u = c - h, c += h, t[r][i + Ae.BLKSIZE_s / 2 + 0] = l + c, t[r][i + Ae.BLKSIZE_s / 2 + 2] = l - c, t[r][i + Ae.BLKSIZE_s / 2 + 1] = f + u, t[r][i + Ae.BLKSIZE_s / 2 + 3] = f - u;
+ u,
+ m = 255 & v[_ << 2];
+ f = (l = p[m] * s[a][n + m + o]) - (u = p[127 - m] * s[a][n + m + o + 128]), l += u, h = (c = p[m + 64] * s[a][n + m + o + 64]) - (u = p[63 - m] * s[a][n + m + o + 192]), c += u, i -= 4, t[r][i + 0] = l + c, t[r][i + 2] = l - c, t[r][i + 1] = f + h, t[r][i + 3] = f - h, f = (l = p[m + 1] * s[a][n + m + o + 1]) - (u = p[126 - m] * s[a][n + m + o + 129]), l += u, h = (c = p[m + 65] * s[a][n + m + o + 65]) - (u = p[62 - m] * s[a][n + m + o + 193]), c += u, t[r][i + Pe.BLKSIZE_s / 2 + 0] = l + c, t[r][i + Pe.BLKSIZE_s / 2 + 2] = l - c, t[r][i + Pe.BLKSIZE_s / 2 + 1] = f + h, t[r][i + Pe.BLKSIZE_s / 2 + 3] = f - h;
} while (0 <= --_);
- m(t[r], i, Ae.BLKSIZE_s / 2);
+ b(t[r], i, Pe.BLKSIZE_s / 2);
}
- }, this.fft_long = function (e, t, a, n, s) {
- var r = Ae.BLKSIZE / 8 - 1,
- i = Ae.BLKSIZE / 2;
+ }, this.fft_long = function (e, t, a, s, n) {
+ var r = Pe.BLKSIZE / 8 - 1,
+ i = Pe.BLKSIZE / 2;
do {
var o,
_,
l,
f,
c,
- u = 255 & v[r];
- o = h[u] * n[a][s + u], c = h[u + 512] * n[a][s + u + 512], _ = o - c, o += c, l = h[u + 256] * n[a][s + u + 256], c = h[u + 768] * n[a][s + u + 768], f = l - c, l += c, t[0 + (i -= 4)] = o + l, t[i + 2] = o - l, t[i + 1] = _ + f, t[i + 3] = _ - f, o = h[u + 1] * n[a][s + u + 1], c = h[u + 513] * n[a][s + u + 513], _ = o - c, o += c, l = h[u + 257] * n[a][s + u + 257], c = h[u + 769] * n[a][s + u + 769], f = l - c, l += c, t[i + Ae.BLKSIZE / 2 + 0] = o + l, t[i + Ae.BLKSIZE / 2 + 2] = o - l, t[i + Ae.BLKSIZE / 2 + 1] = _ + f, t[i + Ae.BLKSIZE / 2 + 3] = _ - f;
+ h = 255 & v[r];
+ _ = (o = u[h] * s[a][n + h]) - (c = u[h + 512] * s[a][n + h + 512]), o += c, f = (l = u[h + 256] * s[a][n + h + 256]) - (c = u[h + 768] * s[a][n + h + 768]), l += c, t[0 + (i -= 4)] = o + l, t[i + 2] = o - l, t[i + 1] = _ + f, t[i + 3] = _ - f, _ = (o = u[h + 1] * s[a][n + h + 1]) - (c = u[h + 513] * s[a][n + h + 513]), o += c, f = (l = u[h + 257] * s[a][n + h + 257]) - (c = u[h + 769] * s[a][n + h + 769]), l += c, t[i + Pe.BLKSIZE / 2 + 0] = o + l, t[i + Pe.BLKSIZE / 2 + 2] = o - l, t[i + Pe.BLKSIZE / 2 + 1] = _ + f, t[i + Pe.BLKSIZE / 2 + 3] = _ - f;
} while (0 <= --r);
- m(t, i, Ae.BLKSIZE / 2);
+ b(t, i, Pe.BLKSIZE / 2);
}, this.init_fft = function (e) {
- for (var t = 0; t < Ae.BLKSIZE; t++) h[t] = .42 - .5 * Math.cos(2 * Math.PI * (t + .5) / Ae.BLKSIZE) + .08 * Math.cos(4 * Math.PI * (t + .5) / Ae.BLKSIZE);
- for (var t = 0; t < Ae.BLKSIZE_s / 2; t++) p[t] = .5 * (1 - Math.cos(2 * Math.PI * (t + .5) / Ae.BLKSIZE_s));
+ for (var t = 0; t < Pe.BLKSIZE; t++) u[t] = .42 - .5 * Math.cos(2 * Math.PI * (t + .5) / Pe.BLKSIZE) + .08 * Math.cos(4 * Math.PI * (t + .5) / Pe.BLKSIZE);
+ for (t = 0; t < Pe.BLKSIZE_s / 2; t++) p[t] = .5 * (1 - Math.cos(2 * Math.PI * (t + .5) / Pe.BLKSIZE_s));
};
}(),
- R = 2.302585092994046,
+ k = 2.302585092994046,
+ _e = 2,
+ le = 16,
d = 2,
g = 16,
E = .34,
- v = 1 / 217621504 / (Ae.BLKSIZE / 2),
- w = .2302585093;
- function se(e, t, a, n, s, r, i, o, _, l, f) {
+ n = 1 / 217621504 / (Pe.BLKSIZE / 2),
+ fe = .3,
+ ce = 21,
+ S = .2302585093;
+ function M(e) {
+ return e;
+ }
+ function N(e, t) {
+ for (var a = 0, s = 0; s < Pe.BLKSIZE / 2; ++s) a += e[s] * t.ATH.eql_w[s];
+ return a *= n;
+ }
+ function he(e, t, a, s, n, r, i, o, _, l, f) {
var c = e.internal_flags;
- _ < 2 ? (k.fft_long(c, n[s], _, l, f), k.fft_short(c, r[i], _, l, f)) : 2 == _ && me(), t[0] = n[s + 0][0], t[0] *= t[0];
- for (var u = Ae.BLKSIZE / 2 - 1; 0 <= u; --u) {
- var h = n[s + 0][Ae.BLKSIZE / 2 - u],
- b = n[s + 0][Ae.BLKSIZE / 2 + u];
- t[Ae.BLKSIZE / 2 - u] = .5 * (h * h + b * b);
- }
- for (var p = 2; 0 <= p; --p) {
- a[p][0] = r[i + 0][p][0], a[p][0] *= a[p][0];
- for (var u = Ae.BLKSIZE_s / 2 - 1; 0 <= u; --u) {
- var h = r[i + 0][p][Ae.BLKSIZE_s / 2 - u],
- b = r[i + 0][p][Ae.BLKSIZE_s / 2 + u];
- a[p][Ae.BLKSIZE_s / 2 - u] = .5 * (h * h + b * b);
+ if (_ < 2) B.fft_long(c, s[n], _, l, f), B.fft_short(c, r[i], _, l, f);else if (2 == _) {
+ for (var h = Pe.BLKSIZE - 1; 0 <= h; --h) {
+ var u = s[n + 0][h],
+ m = s[n + 1][h];
+ s[n + 0][h] = (u + m) * ee.SQRT2 * .5, s[n + 1][h] = (u - m) * ee.SQRT2 * .5;
+ }
+ for (var p = 2; 0 <= p; --p) for (h = Pe.BLKSIZE_s - 1; 0 <= h; --h) {
+ u = r[i + 0][p][h], m = r[i + 1][p][h];
+ r[i + 0][p][h] = (u + m) * ee.SQRT2 * .5, r[i + 1][p][h] = (u - m) * ee.SQRT2 * .5;
}
}
- for (var m = 0, u = 11; u < Ae.HBLKSIZE; u++) m += t[u];
- c.tot_ener[_] = m, e.analysis && me(), 2 == e.athaa_loudapprox && _ < 2 && (c.loudness_sq[o][_] = c.loudness_sq_save[_], c.loudness_sq_save[_] = function (e, t) {
- for (var a = 0, n = 0; n < Ae.BLKSIZE / 2; ++n) a += e[n] * t.ATH.eql_w[n];
- return a *= v;
- }(t, c));
+ t[0] = M(s[n + 0][0]), t[0] *= t[0];
+ for (h = Pe.BLKSIZE / 2 - 1; 0 <= h; --h) {
+ var b = s[n + 0][Pe.BLKSIZE / 2 - h],
+ v = s[n + 0][Pe.BLKSIZE / 2 + h];
+ t[Pe.BLKSIZE / 2 - h] = M(.5 * (b * b + v * v));
+ }
+ for (p = 2; 0 <= p; --p) {
+ a[p][0] = r[i + 0][p][0], a[p][0] *= a[p][0];
+ for (h = Pe.BLKSIZE_s / 2 - 1; 0 <= h; --h) {
+ b = r[i + 0][p][Pe.BLKSIZE_s / 2 - h], v = r[i + 0][p][Pe.BLKSIZE_s / 2 + h];
+ a[p][Pe.BLKSIZE_s / 2 - h] = M(.5 * (b * b + v * v));
+ }
+ }
+ var d = 0;
+ for (h = 11; h < Pe.HBLKSIZE; h++) d += t[h];
+ if (c.tot_ener[_] = d, e.analysis) {
+ for (h = 0; h < Pe.HBLKSIZE; h++) c.pinfo.energy[o][_][h] = c.pinfo.energy_save[_][h], c.pinfo.energy_save[_][h] = t[h];
+ c.pinfo.pe[o][_] = c.pe[_];
+ }
+ 2 == e.athaa_loudapprox && _ < 2 && (c.loudness_sq[o][_] = c.loudness_sq_save[_], c.loudness_sq_save[_] = N(t, c));
}
- var x,
- B,
+ var y,
T,
- C = 8,
- I = 23,
- L = 15,
- re = [1, .79433, .63096, .63096, .63096, .63096, .63096, .25119, .11749],
- f = [3.3246 * 3.3246, 3.23837 * 3.23837, 9.9500500969, 9.0247369744, 8.1854926609, 7.0440875649, 2.46209 * 2.46209, 2.284 * 2.284, 4.4892710641, 1.96552 * 1.96552, 1.82335 * 1.82335, 1.69146 * 1.69146, 2.4621061921, 2.1508568964, 1.37074 * 1.37074, 1.31036 * 1.31036, 1.5691069696, 1.4555939904, 1.16203 * 1.16203, 1.2715945225, 1.09428 * 1.09428, 1.0659 * 1.0659, 1.0779838276, 1.0382591025, 1],
+ x,
+ P = 8,
+ L = 23,
+ I = 15,
+ ue = [1, .79433, .63096, .63096, .63096, .63096, .63096, .25119, .11749];
+ var f = [3.3246 * 3.3246, 3.23837 * 3.23837, 9.9500500969, 9.0247369744, 8.1854926609, 7.0440875649, 2.46209 * 2.46209, 2.284 * 2.284, 4.4892710641, 1.96552 * 1.96552, 1.82335 * 1.82335, 1.69146 * 1.69146, 2.4621061921, 2.1508568964, 1.37074 * 1.37074, 1.31036 * 1.31036, 1.5691069696, 1.4555939904, 1.16203 * 1.16203, 1.2715945225, 1.09428 * 1.09428, 1.0659 * 1.0659, 1.0779838276, 1.0382591025, 1],
c = [1.7782755904, 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497, 1.40548 * 1.40548, 1.3537 * 1.3537, 1.6999465924, 1.22321 * 1.22321, 1.3169398564, 1],
- u = [5.5396212496, 2.29259 * 2.29259, 4.9868695969, 2.12675 * 2.12675, 2.02545 * 2.02545, 1.87894 * 1.87894, 1.74303 * 1.74303, 1.61695 * 1.61695, 2.2499700001, 1.39148 * 1.39148, 1.29083 * 1.29083, 1.19746 * 1.19746, 1.2339655056, 1.0779838276];
- function ie(e, t, a, n, s, r) {
+ h = [5.5396212496, 2.29259 * 2.29259, 4.9868695969, 2.12675 * 2.12675, 2.02545 * 2.02545, 1.87894 * 1.87894, 1.74303 * 1.74303, 1.61695 * 1.61695, 2.2499700001, 1.39148 * 1.39148, 1.29083 * 1.29083, 1.19746 * 1.19746, 1.2339655056, 1.0779838276];
+ function me(e, t, a, s, n, r) {
var i;
if (e < t) {
- if (!(t < e * B)) return e + t;
+ if (!(t < e * T)) return e + t;
i = t / e;
} else {
- if (t * B <= e) return e + t;
+ if (t * T <= e) return e + t;
i = e / t;
}
- if (e += t, n + 3 <= 6) {
- if (x <= i) return e;
- var o = 0 | V.FAST_LOG10_X(i, 16);
+ if (e += t, s + 3 <= 6) {
+ if (y <= i) return e;
+ var o = 0 | ee.FAST_LOG10_X(i, 16);
return e * c[o];
}
- var _,
- l,
- o = 0 | V.FAST_LOG10_X(i, 16);
- return t = 0 != r ? s.ATH.cb_s[a] * s.ATH.adjust : s.ATH.cb_l[a] * s.ATH.adjust, e < T * t ? t < e ? (_ = 1, o <= 13 && (_ = u[o]), l = V.FAST_LOG10_X(e / t, 10 / 15), e * ((f[o] - _) * l + _)) : 13 < o ? e : e * u[o] : e * f[o];
+ var _, l;
+ o = 0 | ee.FAST_LOG10_X(i, 16);
+ return t = 0 != r ? n.ATH.cb_s[a] * n.ATH.adjust : n.ATH.cb_l[a] * n.ATH.adjust, e < x * t ? t < e ? (_ = 1, o <= 13 && (_ = h[o]), l = ee.FAST_LOG10_X(e / t, 10 / 15), e * ((f[o] - _) * l + _)) : 13 < o ? e : e * h[o] : e * f[o];
}
- function oe(e, t, a, n, s) {
+ var r = [1.7782755904, 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497, 1.40548 * 1.40548, 1.3537 * 1.3537, 1.6999465924, 1.22321 * 1.22321, 1.3169398564, 1];
+ function A(e, t, a) {
+ var s;
+ if (e < 0 && (e = 0), t < 0 && (t = 0), e <= 0) return t;
+ if (t <= 0) return e;
+ if (s = e < t ? t / e : e / t, -2 <= a && a <= 2) {
+ if (y <= s) return e + t;
+ var n = 0 | ee.FAST_LOG10_X(s, 16);
+ return (e + t) * r[n];
+ }
+ return s < T ? e + t : (e < t && (e = t), e);
+ }
+ function pe(e, t, a, s, n) {
var r,
i,
o = 0,
_ = 0;
- for (r = i = 0; r < Ae.SBMAX_s; ++i, ++r) {
+ for (r = i = 0; r < Pe.SBMAX_s; ++i, ++r) {
for (var l = e.bo_s[r], f = e.npart_s, c = l < f ? l : f; i < c;) o += t[i], _ += a[i], i++;
- if (e.en[n].s[r][s] = o, e.thm[n].s[r][s] = _, f <= i) {
+ if (e.en[s].s[r][n] = o, e.thm[s].s[r][n] = _, f <= i) {
++r;
break;
}
- var u = e.PSY.bo_s_weight[r],
- h = 1 - u;
- o = u * t[i], _ = u * a[i], e.en[n].s[r][s] += o, e.thm[n].s[r][s] += _, o = h * t[i], _ = h * a[i];
+ var h = e.PSY.bo_s_weight[r],
+ u = 1 - h;
+ o = h * t[i], _ = h * a[i], e.en[s].s[r][n] += o, e.thm[s].s[r][n] += _, o = u * t[i], _ = u * a[i];
}
- for (; r < Ae.SBMAX_s; ++r) e.en[n].s[r][s] = 0, e.thm[n].s[r][s] = 0;
+ for (; r < Pe.SBMAX_s; ++r) e.en[s].s[r][n] = 0, e.thm[s].s[r][n] = 0;
}
- function _e(e, t, a, n) {
- var s,
+ function be(e, t, a, s) {
+ var n,
r,
i = 0,
o = 0;
- for (s = r = 0; s < Ae.SBMAX_l; ++r, ++s) {
- for (var _ = e.bo_l[s], l = e.npart_l, f = _ < l ? _ : l; r < f;) i += t[r], o += a[r], r++;
- if (e.en[n].l[s] = i, e.thm[n].l[s] = o, l <= r) {
- ++s;
+ for (n = r = 0; n < Pe.SBMAX_l; ++r, ++n) {
+ for (var _ = e.bo_l[n], l = e.npart_l, f = _ < l ? _ : l; r < f;) i += t[r], o += a[r], r++;
+ if (e.en[s].l[n] = i, e.thm[s].l[n] = o, l <= r) {
+ ++n;
break;
}
- var c = e.PSY.bo_l_weight[s],
- u = 1 - c;
- i = c * t[r], o = c * a[r], e.en[n].l[s] += i, e.thm[n].l[s] += o, i = u * t[r], o = u * a[r];
+ var c = e.PSY.bo_l_weight[n],
+ h = 1 - c;
+ i = c * t[r], o = c * a[r], e.en[s].l[n] += i, e.thm[s].l[n] += o, i = h * t[r], o = h * a[r];
}
- for (; s < Ae.SBMAX_l; ++s) e.en[n].l[s] = 0, e.thm[n].l[s] = 0;
+ for (; n < Pe.SBMAX_l; ++n) e.en[s].l[n] = 0, e.thm[s].l[n] = 0;
}
- function le(e, t, a, n, s, r) {
+ function ve(e, t, a, s, n, r) {
var i,
o,
_ = e.internal_flags;
for (o = i = 0; o < _.npart_s; ++o) {
- for (var l = 0, f = 0, c = _.numlines_s[o], u = 0; u < c; ++u, ++i) {
- var h = t[r][i];
- l += h, f < h && (f = h);
+ for (var l = 0, f = 0, c = _.numlines_s[o], h = 0; h < c; ++h, ++i) {
+ var u = t[r][i];
+ l += u, f < u && (f = u);
}
a[o] = l;
}
for (i = o = 0; o < _.npart_s; o++) {
- var b = _.s3ind_s[o][0],
- p = _.s3_ss[i++] * a[b];
- for (++b; b <= _.s3ind_s[o][1];) p += _.s3_ss[i] * a[b], ++i, ++b;
- var m = d * _.nb_s1[s][o];
- if (n[o] = Math.min(p, m), _.blocktype_old[1 & s] == Ae.SHORT_TYPE) {
- var m = g * _.nb_s2[s][o],
- v = n[o];
- n[o] = Math.min(m, v);
+ var m = _.s3ind_s[o][0],
+ p = _.s3_ss[i++] * a[m];
+ for (++m; m <= _.s3ind_s[o][1];) p += _.s3_ss[i] * a[m], ++i, ++m;
+ var b = d * _.nb_s1[n][o];
+ if (s[o] = Math.min(p, b), _.blocktype_old[1 & n] == Pe.SHORT_TYPE) {
+ b = g * _.nb_s2[n][o];
+ var v = s[o];
+ s[o] = Math.min(b, v);
}
- _.nb_s2[s][o] = _.nb_s1[s][o], _.nb_s1[s][o] = p;
+ _.nb_s2[n][o] = _.nb_s1[n][o], _.nb_s1[n][o] = p;
}
- for (; o <= Ae.CBANDS; ++o) a[o] = 0, n[o] = 0;
+ for (; o <= Pe.CBANDS; ++o) a[o] = 0, s[o] = 0;
}
- function fe(e, t, a) {
+ function de(e, t, a) {
return 1 <= a ? e : a <= 0 ? t : 0 < t ? Math.pow(e / t, a) * t : 0;
}
var _ = [11.8, 13.6, 17.2, 32, 46.5, 51.3, 57.5, 67.1, 71.5, 84.6, 97.6, 130];
- function ce(e, t) {
- for (var a = 309.07, n = 0; n < Ae.SBMAX_s - 1; n++) for (var s = 0; s < 3; s++) {
- var r = e.thm.s[n][s];
+ function ge(e, t) {
+ for (var a = 309.07, s = 0; s < Pe.SBMAX_s - 1; s++) for (var n = 0; n < 3; n++) {
+ var r = e.thm.s[s][n];
if (0 < r) {
var i = r * t,
- o = e.en.s[n][s];
- i < o && (a += 1e10 * i < o ? _[n] * (10 * R) : _[n] * V.FAST_LOG10(o / i));
+ o = e.en.s[s][n];
+ i < o && (a += 1e10 * i < o ? _[s] * (10 * k) : _[s] * ee.FAST_LOG10(o / i));
}
}
return a;
}
var o = [6.8, 5.8, 5.8, 6.4, 6.5, 9.9, 12.1, 14.4, 15, 18.9, 21.6, 26.9, 34.2, 40.2, 46.8, 56.5, 60.7, 73.9, 85.7, 93.4, 126.1];
- function ue(e, t) {
- for (var a = 281.0575, n = 0; n < Ae.SBMAX_l - 1; n++) {
- var s = e.thm.l[n];
- if (0 < s) {
- var r = s * t,
- i = e.en.l[n];
- r < i && (a += 1e10 * r < i ? o[n] * (10 * R) : o[n] * V.FAST_LOG10(i / r));
+ function Se(e, t) {
+ for (var a = 281.0575, s = 0; s < Pe.SBMAX_l - 1; s++) {
+ var n = e.thm.l[s];
+ if (0 < n) {
+ var r = n * t,
+ i = e.en.l[s];
+ r < i && (a += 1e10 * r < i ? o[s] * (10 * k) : o[s] * ee.FAST_LOG10(i / r));
}
}
return a;
}
- function he(e, t, a, n, s) {
+ function Me(e, t, a, s, n) {
var r, i;
for (r = i = 0; r < e.npart_l; ++r) {
var o,
@@ -14775,495 +14671,894 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
var f = t[i];
_ += f, l < f && (l = f);
}
- a[r] = _, n[r] = l, s[r] = _ * e.rnumlines_l[r];
+ a[r] = _, s[r] = l, n[r] = _ * e.rnumlines_l[r];
}
}
- function be(e, t, a, n) {
- var s = re.length - 1,
+ function we(e, t, a, s) {
+ var n = ue.length - 1,
r = 0,
i = a[r] + a[r + 1];
- if (0 < i) {
- var o = t[r];
- o < t[r + 1] && (o = t[r + 1]);
- var _ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_l[r] + e.numlines_l[r + 1] - 1)));
- s < _ && (_ = s), n[r] = _;
- } else n[r] = 0;
- for (r = 1; r < e.npart_l - 1; r++) if (0 < (i = a[r - 1] + a[r] + a[r + 1])) {
- var o = t[r - 1];
- o < t[r] && (o = t[r]), o < t[r + 1] && (o = t[r + 1]);
- var _ = 0 | (i = 20 * (3 * o - i) / (i * (e.numlines_l[r - 1] + e.numlines_l[r] + e.numlines_l[r + 1] - 1)));
- s < _ && (_ = s), n[r] = _;
- } else n[r] = 0;
- if (0 < (i = a[r - 1] + a[r])) {
- var o = t[r - 1];
- o < t[r] && (o = t[r]);
- var _ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_l[r - 1] + e.numlines_l[r] - 1)));
- s < _ && (_ = s), n[r] = _;
- } else n[r] = 0;
+ 0 < i ? ((o = t[r]) < t[r + 1] && (o = t[r + 1]), n < (_ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_l[r] + e.numlines_l[r + 1] - 1)))) && (_ = n), s[r] = _) : s[r] = 0;
+ for (r = 1; r < e.npart_l - 1; r++) {
+ var o, _;
+ if (0 < (i = a[r - 1] + a[r] + a[r + 1])) (o = t[r - 1]) < t[r] && (o = t[r]), o < t[r + 1] && (o = t[r + 1]), n < (_ = 0 | (i = 20 * (3 * o - i) / (i * (e.numlines_l[r - 1] + e.numlines_l[r] + e.numlines_l[r + 1] - 1)))) && (_ = n), s[r] = _;else s[r] = 0;
+ }
+ 0 < (i = a[r - 1] + a[r]) ? ((o = t[r - 1]) < t[r] && (o = t[r]), n < (_ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_l[r - 1] + e.numlines_l[r] - 1)))) && (_ = n), s[r] = _) : s[r] = 0;
}
- var pe = [-1.730326e-17, -.01703172, -1.349528e-17, .0418072, -6.73278e-17, -.0876324, -3.0835e-17, .1863476, -1.104424e-16, -.627638];
- function P(e) {
+ var Re = [-1.730326e-17, -.01703172, -1.349528e-17, .0418072, -6.73278e-17, -.0876324, -3.0835e-17, .1863476, -1.104424e-16, -.627638];
+ function D(e, t, a, s, n, r, i, o) {
+ var _ = e.internal_flags;
+ if (s < 2) B.fft_long(_, i[o], s, t, a);else if (2 == s) for (var l = Pe.BLKSIZE - 1; 0 <= l; --l) {
+ var f = i[o + 0][l],
+ c = i[o + 1][l];
+ i[o + 0][l] = (f + c) * ee.SQRT2 * .5, i[o + 1][l] = (f - c) * ee.SQRT2 * .5;
+ }
+ r[0] = M(i[o + 0][0]), r[0] *= r[0];
+ for (l = Pe.BLKSIZE / 2 - 1; 0 <= l; --l) {
+ var h = i[o + 0][Pe.BLKSIZE / 2 - l],
+ u = i[o + 0][Pe.BLKSIZE / 2 + l];
+ r[Pe.BLKSIZE / 2 - l] = M(.5 * (h * h + u * u));
+ }
+ var m = 0;
+ for (l = 11; l < Pe.HBLKSIZE; l++) m += r[l];
+ if (_.tot_ener[s] = m, e.analysis) {
+ for (l = 0; l < Pe.HBLKSIZE; l++) _.pinfo.energy[n][s][l] = _.pinfo.energy_save[s][l], _.pinfo.energy_save[s][l] = r[l];
+ _.pinfo.pe[n][s] = _.pe[s];
+ }
+ }
+ function Y(e, t, a, s, n, r, i, o) {
+ var _ = e.internal_flags;
+ if (0 == n && s < 2 && B.fft_short(_, i[o], s, t, a), 2 == s) for (var l = Pe.BLKSIZE_s - 1; 0 <= l; --l) {
+ var f = i[o + 0][n][l],
+ c = i[o + 1][n][l];
+ i[o + 0][n][l] = (f + c) * ee.SQRT2 * .5, i[o + 1][n][l] = (f - c) * ee.SQRT2 * .5;
+ }
+ r[n][0] = i[o + 0][n][0], r[n][0] *= r[n][0];
+ for (l = Pe.BLKSIZE_s / 2 - 1; 0 <= l; --l) {
+ var h = i[o + 0][n][Pe.BLKSIZE_s / 2 - l],
+ u = i[o + 0][n][Pe.BLKSIZE_s / 2 + l];
+ r[n][Pe.BLKSIZE_s / 2 - l] = M(.5 * (h * h + u * u));
+ }
+ }
+ this.L3psycho_anal_ns = function (e, t, a, s, n, r, i, o, _, l) {
+ var f,
+ c,
+ h,
+ u,
+ m,
+ p,
+ b,
+ v,
+ d,
+ g,
+ S = e.internal_flags,
+ M = ke([2, Pe.BLKSIZE]),
+ w = ke([2, 3, Pe.BLKSIZE_s]),
+ R = Be(Pe.CBANDS + 1),
+ A = Be(Pe.CBANDS + 1),
+ B = Be(Pe.CBANDS + 2),
+ k = Ae(2),
+ y = Ae(2),
+ T = ke([2, 576]),
+ x = Ae(Pe.CBANDS + 2),
+ E = Ae(Pe.CBANDS + 2);
+ for (ye.fill(E, 0), f = S.channels_out, e.mode == Ee.JOINT_STEREO && (f = 4), d = e.VBR == xe.vbr_off ? 0 == S.ResvMax ? 0 : S.ResvSize / S.ResvMax * .5 : e.VBR == xe.vbr_rh || e.VBR == xe.vbr_mtrh || e.VBR == xe.vbr_mt ? .6 : 1, c = 0; c < S.channels_out; c++) {
+ var P = t[c],
+ L = a + 576 - 350 - ce + 192;
+ for (u = 0; u < 576; u++) {
+ var I, H;
+ for (I = P[L + u + 10], m = H = 0; m < (ce - 1) / 2 - 1; m += 2) I += Re[m] * (P[L + u + m] + P[L + u + ce - m]), H += Re[m + 1] * (P[L + u + m + 1] + P[L + u + ce - m - 1]);
+ T[c][u] = I + H;
+ }
+ n[s][c].en.assign(S.en[c]), n[s][c].thm.assign(S.thm[c]), 2 < f && (r[s][c].en.assign(S.en[c + 2]), r[s][c].thm.assign(S.thm[c + 2]));
+ }
+ for (c = 0; c < f; c++) {
+ var C,
+ V = Be(12),
+ O = [0, 0, 0, 0],
+ N = Be(12),
+ D = 1,
+ Y = Be(Pe.CBANDS),
+ X = Be(Pe.CBANDS),
+ q = [0, 0, 0, 0],
+ F = Be(Pe.HBLKSIZE),
+ j = ke([3, Pe.HBLKSIZE_s]);
+ for (u = 0; u < 3; u++) V[u] = S.nsPsy.last_en_subshort[c][u + 6], N[u] = V[u] / S.nsPsy.last_en_subshort[c][u + 4], O[0] += V[u];
+ if (2 == c) for (u = 0; u < 576; u++) {
+ var z, Z;
+ z = T[0][u], Z = T[1][u], T[0][u] = z + Z, T[1][u] = z - Z;
+ }
+ var K = T[1 & c],
+ G = 0;
+ for (u = 0; u < 9; u++) {
+ for (var U = G + 64, Q = 1; G < U; G++) Q < Math.abs(K[G]) && (Q = Math.abs(K[G]));
+ S.nsPsy.last_en_subshort[c][u] = V[u + 3] = Q, O[1 + u / 3] += Q, Q > V[u + 3 - 2] ? Q /= V[u + 3 - 2] : Q = V[u + 3 - 2] > 10 * Q ? V[u + 3 - 2] / (10 * Q) : 0, N[u + 3] = Q;
+ }
+ if (e.analysis) {
+ var W = N[0];
+ for (u = 1; u < 12; u++) W < N[u] && (W = N[u]);
+ S.pinfo.ers[s][c] = S.pinfo.ers_save[c], S.pinfo.ers_save[c] = W;
+ }
+ for (C = 3 == c ? S.nsPsy.attackthre_s : S.nsPsy.attackthre, u = 0; u < 12; u++) 0 == q[u / 3] && N[u] > C && (q[u / 3] = u % 3 + 1);
+ for (u = 1; u < 4; u++) {
+ (O[u - 1] > O[u] ? O[u - 1] / O[u] : O[u] / O[u - 1]) < 1.7 && (q[u] = 0, 1 == u && (q[0] = 0));
+ }
+ for (0 != q[0] && 0 != S.nsPsy.lastAttacks[c] && (q[0] = 0), 3 != S.nsPsy.lastAttacks[c] && q[0] + q[1] + q[2] + q[3] == 0 || ((D = 0) != q[1] && 0 != q[0] && (q[1] = 0), 0 != q[2] && 0 != q[1] && (q[2] = 0), 0 != q[3] && 0 != q[2] && (q[3] = 0)), c < 2 ? y[c] = D : 0 == D && (y[0] = y[1] = 0), _[c] = S.tot_ener[c], he(e, F, j, M, 1 & c, w, 1 & c, s, c, t, a), Me(S, F, R, Y, X), we(S, Y, X, x), v = 0; v < 3; v++) {
+ var J, $;
+ for (ve(e, j, A, B, c, v), pe(S, A, B, c, v), b = 0; b < Pe.SBMAX_s; b++) {
+ if ($ = S.thm[c].s[b][v], $ *= .8, 2 <= q[v] || 1 == q[v + 1]) {
+ var ee = 0 != v ? v - 1 : 2;
+ Q = de(S.thm[c].s[b][ee], $, .6 * d);
+ $ = Math.min($, Q);
+ }
+ if (1 == q[v]) {
+ ee = 0 != v ? v - 1 : 2, Q = de(S.thm[c].s[b][ee], $, fe * d);
+ $ = Math.min($, Q);
+ } else if (0 != v && 3 == q[v - 1] || 0 == v && 3 == S.nsPsy.lastAttacks[c]) {
+ ee = 2 != v ? v + 1 : 0, Q = de(S.thm[c].s[b][ee], $, fe * d);
+ $ = Math.min($, Q);
+ }
+ J = V[3 * v + 3] + V[3 * v + 4] + V[3 * v + 5], 6 * V[3 * v + 5] < J && ($ *= .5, 6 * V[3 * v + 4] < J && ($ *= .5)), S.thm[c].s[b][v] = $;
+ }
+ }
+ for (S.nsPsy.lastAttacks[c] = q[2], h = p = 0; h < S.npart_l; h++) {
+ for (var te = S.s3ind[h][0], ae = R[te] * ue[x[te]], se = S.s3_ll[p++] * ae; ++te <= S.s3ind[h][1];) ae = R[te] * ue[x[te]], se = me(se, S.s3_ll[p++] * ae, te, te - h, S, 0);
+ se *= .158489319246111, S.blocktype_old[1 & c] == Pe.SHORT_TYPE ? B[h] = se : B[h] = de(Math.min(se, Math.min(_e * S.nb_1[c][h], le * S.nb_2[c][h])), se, d), S.nb_2[c][h] = S.nb_1[c][h], S.nb_1[c][h] = se;
+ }
+ for (; h <= Pe.CBANDS; ++h) R[h] = 0, B[h] = 0;
+ be(S, R, B, c);
+ }
+ (e.mode != Ee.STEREO && e.mode != Ee.JOINT_STEREO || 0 < e.interChRatio && function (e, t) {
+ var a = e.internal_flags;
+ if (1 < a.channels_out) {
+ for (var s = 0; s < Pe.SBMAX_l; s++) {
+ var n = a.thm[0].l[s],
+ r = a.thm[1].l[s];
+ a.thm[0].l[s] += r * t, a.thm[1].l[s] += n * t;
+ }
+ for (s = 0; s < Pe.SBMAX_s; s++) for (var i = 0; i < 3; i++) n = a.thm[0].s[s][i], r = a.thm[1].s[s][i], a.thm[0].s[s][i] += r * t, a.thm[1].s[s][i] += n * t;
+ }
+ }(e, e.interChRatio), e.mode == Ee.JOINT_STEREO) && (!function (e) {
+ for (var t = 0; t < Pe.SBMAX_l; t++) if (!(e.thm[0].l[t] > 1.58 * e.thm[1].l[t] || e.thm[1].l[t] > 1.58 * e.thm[0].l[t])) {
+ var a = e.mld_l[t] * e.en[3].l[t],
+ s = Math.max(e.thm[2].l[t], Math.min(e.thm[3].l[t], a));
+ a = e.mld_l[t] * e.en[2].l[t];
+ var n = Math.max(e.thm[3].l[t], Math.min(e.thm[2].l[t], a));
+ e.thm[2].l[t] = s, e.thm[3].l[t] = n;
+ }
+ for (t = 0; t < Pe.SBMAX_s; t++) for (var r = 0; r < 3; r++) e.thm[0].s[t][r] > 1.58 * e.thm[1].s[t][r] || e.thm[1].s[t][r] > 1.58 * e.thm[0].s[t][r] || (a = e.mld_s[t] * e.en[3].s[t][r], s = Math.max(e.thm[2].s[t][r], Math.min(e.thm[3].s[t][r], a)), a = e.mld_s[t] * e.en[2].s[t][r], n = Math.max(e.thm[3].s[t][r], Math.min(e.thm[2].s[t][r], a)), e.thm[2].s[t][r] = s, e.thm[3].s[t][r] = n);
+ }(S), g = e.msfix, 0 < Math.abs(g) && function (e, t, a) {
+ var s = t,
+ n = Math.pow(10, a);
+ t *= 2, s *= 2;
+ for (var r = 0; r < Pe.SBMAX_l; r++) f = e.ATH.cb_l[e.bm_l[r]] * n, (o = Math.min(Math.max(e.thm[0].l[r], f), Math.max(e.thm[1].l[r], f))) * t < (_ = Math.max(e.thm[2].l[r], f)) + (l = Math.max(e.thm[3].l[r], f)) && (_ *= c = o * s / (_ + l), l *= c), e.thm[2].l[r] = Math.min(_, e.thm[2].l[r]), e.thm[3].l[r] = Math.min(l, e.thm[3].l[r]);
+ for (n *= Pe.BLKSIZE_s / Pe.BLKSIZE, r = 0; r < Pe.SBMAX_s; r++) for (var i = 0; i < 3; i++) {
+ var o, _, l, f, c;
+ f = e.ATH.cb_s[e.bm_s[r]] * n, (o = Math.min(Math.max(e.thm[0].s[r][i], f), Math.max(e.thm[1].s[r][i], f))) * t < (_ = Math.max(e.thm[2].s[r][i], f)) + (l = Math.max(e.thm[3].s[r][i], f)) && (_ *= c = o * t / (_ + l), l *= c), e.thm[2].s[r][i] = Math.min(e.thm[2].s[r][i], _), e.thm[3].s[r][i] = Math.min(e.thm[3].s[r][i], l);
+ }
+ }(S, g, e.ATHlower * S.ATH.adjust));
+ for (function (e, t, a, s) {
+ var n = e.internal_flags;
+ e.short_blocks != Te.short_block_coupled || 0 != t[0] && 0 != t[1] || (t[0] = t[1] = 0);
+ for (var r = 0; r < n.channels_out; r++) s[r] = Pe.NORM_TYPE, e.short_blocks == Te.short_block_dispensed && (t[r] = 1), e.short_blocks == Te.short_block_forced && (t[r] = 0), 0 != t[r] ? n.blocktype_old[r] == Pe.SHORT_TYPE && (s[r] = Pe.STOP_TYPE) : (s[r] = Pe.SHORT_TYPE, n.blocktype_old[r] == Pe.NORM_TYPE && (n.blocktype_old[r] = Pe.START_TYPE), n.blocktype_old[r] == Pe.STOP_TYPE && (n.blocktype_old[r] = Pe.SHORT_TYPE)), a[r] = n.blocktype_old[r], n.blocktype_old[r] = s[r];
+ }(e, y, l, k), c = 0; c < f; c++) {
+ var ne,
+ re,
+ ie,
+ oe = 0;
+ 1 < c ? (ne = o, oe = -2, re = Pe.NORM_TYPE, l[0] != Pe.SHORT_TYPE && l[1] != Pe.SHORT_TYPE || (re = Pe.SHORT_TYPE), ie = r[s][c - 2]) : (ne = i, oe = 0, re = l[c], ie = n[s][c]), ne[oe + c] = re == Pe.SHORT_TYPE ? ge(ie, S.masking_lower) : Se(ie, S.masking_lower), e.analysis && (S.pinfo.pe[s][c] = ne[oe + c]);
+ }
+ return 0;
+ };
+ var X = [-1.730326e-17, -.01703172, -1.349528e-17, .0418072, -6.73278e-17, -.0876324, -3.0835e-17, .1863476, -1.104424e-16, -.627638];
+ function q(e, t, a) {
+ if (0 == a) for (var s = 0; s < e.npart_s; s++) e.nb_s2[t][s] = e.nb_s1[t][s], e.nb_s1[t][s] = 0;
+ }
+ function F(e, t) {
+ for (var a = 0; a < e.npart_l; a++) e.nb_2[t][a] = e.nb_1[t][a], e.nb_1[t][a] = 0;
+ }
+ function j(e, t, a, s, n, r) {
+ var i,
+ o,
+ _,
+ l = e.internal_flags,
+ f = new float[Pe.CBANDS](),
+ c = Be(Pe.CBANDS),
+ h = new int[Pe.CBANDS]();
+ for (_ = o = 0; _ < l.npart_s; ++_) {
+ var u = 0,
+ m = 0,
+ p = l.numlines_s[_];
+ for (i = 0; i < p; ++i, ++o) {
+ var b = t[r][o];
+ u += b, m < b && (m = b);
+ }
+ a[_] = u, f[_] = m, c[_] = u / p;
+ }
+ for (; _ < Pe.CBANDS; ++_) f[_] = 0, c[_] = 0;
+ for (function (e, t, a, s) {
+ var n = ue.length - 1,
+ r = 0,
+ i = a[r] + a[r + 1];
+ for (0 < i ? ((o = t[r]) < t[r + 1] && (o = t[r + 1]), n < (_ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_s[r] + e.numlines_s[r + 1] - 1)))) && (_ = n), s[r] = _) : s[r] = 0, r = 1; r < e.npart_s - 1; r++) {
+ var o, _;
+ 0 < (i = a[r - 1] + a[r] + a[r + 1]) ? ((o = t[r - 1]) < t[r] && (o = t[r]), o < t[r + 1] && (o = t[r + 1]), n < (_ = 0 | (i = 20 * (3 * o - i) / (i * (e.numlines_s[r - 1] + e.numlines_s[r] + e.numlines_s[r + 1] - 1)))) && (_ = n), s[r] = _) : s[r] = 0;
+ }
+ 0 < (i = a[r - 1] + a[r]) ? ((o = t[r - 1]) < t[r] && (o = t[r]), n < (_ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_s[r - 1] + e.numlines_s[r] - 1)))) && (_ = n), s[r] = _) : s[r] = 0;
+ }(l, f, c, h), o = _ = 0; _ < l.npart_s; _++) {
+ var v,
+ d,
+ g,
+ S,
+ M,
+ w = l.s3ind_s[_][0],
+ R = l.s3ind_s[_][1];
+ for (v = h[w], d = 1, S = l.s3_ss[o] * a[w] * ue[h[w]], ++o, ++w; w <= R;) v += h[w], d += 1, S = A(S, g = l.s3_ss[o] * a[w] * ue[h[w]], w - _), ++o, ++w;
+ S *= M = .5 * ue[v = (1 + 2 * v) / (2 * d)], s[_] = S, l.nb_s2[n][_] = l.nb_s1[n][_], l.nb_s1[n][_] = S, g = f[_], g *= l.minval_s[_], g *= M, s[_] > g && (s[_] = g), 1 < l.masking_lower && (s[_] *= l.masking_lower), s[_] > a[_] && (s[_] = a[_]), l.masking_lower < 1 && (s[_] *= l.masking_lower);
+ }
+ for (; _ < Pe.CBANDS; ++_) a[_] = 0, s[_] = 0;
+ }
+ function z(e, t, a, s, n) {
+ var r,
+ i = Be(Pe.CBANDS),
+ o = Be(Pe.CBANDS),
+ _ = Ae(Pe.CBANDS + 2);
+ Me(e, t, a, i, o), we(e, i, o, _);
+ var l = 0;
+ for (r = 0; r < e.npart_l; r++) {
+ var f,
+ c,
+ h,
+ u = e.s3ind[r][0],
+ m = e.s3ind[r][1],
+ p = 0,
+ b = 0;
+ for (p = _[u], b += 1, c = e.s3_ll[l] * a[u] * ue[_[u]], ++l, ++u; u <= m;) p += _[u], b += 1, c = A(c, f = e.s3_ll[l] * a[u] * ue[_[u]], u - r), ++l, ++u;
+ if (c *= h = .5 * ue[p = (1 + 2 * p) / (2 * b)], e.blocktype_old[1 & n] == Pe.SHORT_TYPE) {
+ var v = _e * e.nb_1[n][r];
+ s[r] = 0 < v ? Math.min(c, v) : Math.min(c, a[r] * fe);
+ } else {
+ var d = le * e.nb_2[n][r],
+ g = _e * e.nb_1[n][r];
+ d <= 0 && (d = c), g <= 0 && (g = c), v = e.blocktype_old[1 & n] == Pe.NORM_TYPE ? Math.min(g, d) : g, s[r] = Math.min(c, v);
+ }
+ e.nb_2[n][r] = e.nb_1[n][r], e.nb_1[n][r] = c, f = i[r], f *= e.minval_l[r], f *= h, s[r] > f && (s[r] = f), 1 < e.masking_lower && (s[r] *= e.masking_lower), s[r] > a[r] && (s[r] = a[r]), e.masking_lower < 1 && (s[r] *= e.masking_lower);
+ }
+ for (; r < Pe.CBANDS; ++r) a[r] = 0, s[r] = 0;
+ }
+ function Z(e, t, a, s, n, r, i) {
+ for (var o, _, l = 2 * r, f = 0 < r ? Math.pow(10, n) : 1, c = 0; c < i; ++c) {
+ var h = e[2][c],
+ u = e[3][c],
+ m = t[0][c],
+ p = t[1][c],
+ b = t[2][c],
+ v = t[3][c];
+ if (m <= 1.58 * p && p <= 1.58 * m) {
+ var d = a[c] * u,
+ g = a[c] * h;
+ _ = Math.max(b, Math.min(v, d)), o = Math.max(v, Math.min(b, g));
+ } else _ = b, o = v;
+ if (0 < r) {
+ var S,
+ M,
+ w = s[c] * f;
+ if (S = Math.min(Math.max(m, w), Math.max(p, w)), 0 < (M = (b = Math.max(_, w)) + (v = Math.max(o, w))) && S * l < M) {
+ var R = S * l / M;
+ b *= R, v *= R;
+ }
+ _ = Math.min(b, _), o = Math.min(v, o);
+ }
+ h < _ && (_ = h), u < o && (o = u), t[2][c] = _, t[3][c] = o;
+ }
+ }
+ function w(e, t) {
+ var a;
+ return (a = 0 <= e ? 27 * -e : e * t) <= -72 ? 0 : Math.exp(a * S);
+ }
+ function R(e) {
+ var t,
+ a,
+ s = 0;
+ for (s = 0; 1e-20 < w(s, e); s -= 1);
+ for (n = s, r = 0; 1e-12 < Math.abs(r - n);) 0 < w(s = (r + n) / 2, e) ? r = s : n = s;
+ t = n;
+ var n, r;
+ s = 0;
+ for (s = 0; 1e-20 < w(s, e); s += 1);
+ for (n = 0, r = s; 1e-12 < Math.abs(r - n);) 0 < w(s = (r + n) / 2, e) ? n = s : r = s;
+ a = r;
+ var i,
+ o = 0;
+ for (i = 0; i <= 1e3; ++i) {
+ o += w(s = t + i * (a - t) / 1e3, e);
+ }
+ return 1001 / (o * (a - t));
+ }
+ function H(e) {
return e < 0 && (e = 0), e *= .001, 13 * Math.atan(.76 * e) + 3.5 * Math.atan(e * e / 56.25);
}
- function H(e, t, a, n, s, r, i, o, _, l, f, c) {
- var u,
- h = de(Ae.CBANDS + 1),
- b = o / (15 < c ? 1152 : 384),
- p = ve(Ae.HBLKSIZE);
+ function C(e, t, a, s, n, r, i, o, _, l, f, c) {
+ var h,
+ u = Be(Pe.CBANDS + 1),
+ m = o / (15 < c ? 1152 : 384),
+ p = Ae(Pe.HBLKSIZE);
o /= _;
- var m = 0,
+ var b = 0,
v = 0;
- for (u = 0; u < Ae.CBANDS; u++) {
+ for (h = 0; h < Pe.CBANDS; h++) {
var d;
- for (x = P(o * m), h[u] = o * m, d = m; P(o * d) - x < E && d <= _ / 2; d++);
- for (e[u] = d - m, v = u + 1; m < d;) p[m++] = u;
- if (_ / 2 < m) {
- m = _ / 2, ++u;
+ for (y = H(o * b), u[h] = o * b, d = b; H(o * d) - y < E && d <= _ / 2; d++);
+ for (e[h] = d - b, v = h + 1; b < d;) p[b++] = h;
+ if (_ / 2 < b) {
+ b = _ / 2, ++h;
break;
}
}
- h[u] = o * m;
+ u[h] = o * b;
for (var g = 0; g < c; g++) {
- var w, S, M, y, A;
- M = l[g], y = l[g + 1], (w = 0 | Math.floor(.5 + f * (M - .5))) < 0 && (w = 0), S = 0 | Math.floor(.5 + f * (y - .5)), _ / 2 < S && (S = _ / 2), a[g] = (p[w] + p[S]) / 2, t[g] = p[S];
- var k = b * y;
- i[g] = (k - h[t[g]]) / (h[t[g] + 1] - h[t[g]]), i[g] < 0 ? i[g] = 0 : 1 < i[g] && (i[g] = 1), A = P(o * l[g] * f), A = Math.min(A, 15.5) / 15.5, r[g] = Math.pow(10, 1.25 * (1 - Math.cos(Math.PI * A)) - 2.5);
+ var S, M, w, R, A;
+ w = l[g], R = l[g + 1], (S = 0 | Math.floor(.5 + f * (w - .5))) < 0 && (S = 0), _ / 2 < (M = 0 | Math.floor(.5 + f * (R - .5))) && (M = _ / 2), a[g] = (p[S] + p[M]) / 2, t[g] = p[M];
+ var B = m * R;
+ i[g] = (B - u[t[g]]) / (u[t[g] + 1] - u[t[g]]), i[g] < 0 ? i[g] = 0 : 1 < i[g] && (i[g] = 1), A = H(o * l[g] * f), A = Math.min(A, 15.5) / 15.5, r[g] = Math.pow(10, 1.25 * (1 - Math.cos(Math.PI * A)) - 2.5);
}
- for (var R = m = 0; R < v; R++) {
- var x,
- B,
- T = e[R];
- x = P(o * m), B = P(o * (m + T - 1)), n[R] = .5 * (x + B), x = P(o * (m - .5)), B = P(o * (m + T - .5)), s[R] = B - x, m += T;
+ for (var k = b = 0; k < v; k++) {
+ var y,
+ T,
+ x = e[k];
+ y = H(o * b), T = H(o * (b + x - 1)), s[k] = .5 * (y + T), y = H(o * (b - .5)), T = H(o * (b + x - .5)), n[k] = T - y, b += x;
}
return v;
}
- function O(e, t, a, n, s, r) {
+ function V(e, t, a, s, n, r) {
var i,
o,
_,
l,
f,
c,
- u = ge([Ae.CBANDS, Ae.CBANDS]),
- h = 0;
- if (r) for (var b = 0; b < t; b++) for (i = 0; i < t; i++) {
- var p = (o = a[b] - a[i], c = f = l = _ = void 0, _ = o, l = .5 <= (_ *= 0 <= _ ? 3 : 1.5) && _ <= 2.5 ? 8 * ((c = _ - .5) * c - 2 * c) : 0, ((f = 15.811389 + 7.5 * (_ += .474) - 17.5 * Math.sqrt(1 + _ * _)) <= -60 ? 0 : (_ = Math.exp((l + f) * w), _ /= .6609193)) * n[i]);
- u[b][i] = p * s[b];
- } else me();
- for (var b = 0; b < t; b++) {
- for (i = 0; i < t && !(0 < u[b][i]); i++);
- for (e[b][0] = i, i = t - 1; 0 < i && !(0 < u[b][i]); i--);
- e[b][1] = i, h += e[b][1] - e[b][0] + 1;
+ h = ke([Pe.CBANDS, Pe.CBANDS]),
+ u = 0;
+ if (r) for (var m = 0; m < t; m++) for (i = 0; i < t; i++) {
+ var p = (o = a[m] - a[i], c = f = l = _ = void 0, _ = o, l = .5 <= (_ *= 0 <= _ ? 3 : 1.5) && _ <= 2.5 ? 8 * ((c = _ - .5) * c - 2 * c) : 0, ((f = 15.811389 + 7.5 * (_ += .474) - 17.5 * Math.sqrt(1 + _ * _)) <= -60 ? 0 : (_ = Math.exp((l + f) * S), _ /= .6609193)) * s[i]);
+ h[m][i] = p * n[m];
+ } else for (i = 0; i < t; i++) {
+ var b = 15 + Math.min(21 / a[i], 12),
+ v = R(b);
+ for (m = 0; m < t; m++) {
+ p = v * w(a[m] - a[i], b) * s[i];
+ h[m][i] = p * n[m];
+ }
}
- for (var m = de(h), v = 0, b = 0; b < t; b++) for (i = e[b][0]; i <= e[b][1]; i++) m[v++] = u[b][i];
- return m;
+ for (m = 0; m < t; m++) {
+ for (i = 0; i < t && !(0 < h[m][i]); i++);
+ for (e[m][0] = i, i = t - 1; 0 < i && !(0 < h[m][i]); i--);
+ e[m][1] = i, u += e[m][1] - e[m][0] + 1;
+ }
+ var d = Be(u),
+ g = 0;
+ for (m = 0; m < t; m++) for (i = e[m][0]; i <= e[m][1]; i++) d[g++] = h[m][i];
+ return d;
}
- function N(e) {
- var t = P(e);
+ function O(e) {
+ var t = H(e);
return t = Math.min(t, 15.5) / 15.5, Math.pow(10, 1.25 * (1 - Math.cos(Math.PI * t)) - 2.5);
}
- function n(e, t) {
- e < -.3 && (e = 3410), e /= 1e3, e = Math.max(.1, e);
- var a = 3.64 * Math.pow(e, -.8) - 6.8 * Math.exp(-.6 * Math.pow(e - 3.4, 2)) + 6 * Math.exp(-.15 * Math.pow(e - 8.7, 2)) + .001 * (.6 + .04 * t) * Math.pow(e, 4);
- return a;
+ function s(e, t) {
+ return e < -.3 && (e = 3410), e /= 1e3, e = Math.max(.1, e), 3.64 * Math.pow(e, -.8) - 6.8 * Math.exp(-.6 * Math.pow(e - 3.4, 2)) + 6 * Math.exp(-.15 * Math.pow(e - 8.7, 2)) + .001 * (.6 + .04 * t) * Math.pow(e, 4);
}
- this.L3psycho_anal_ns = function (e, t, a, n, s, r, i, o, _, l) {
+ this.L3psycho_anal_vbr = function (e, t, a, s, n, r, i, o, _, l) {
var f,
c,
- u,
h,
- b,
- p,
+ u,
m,
- v,
- d,
- g = e.internal_flags,
- w = ge([2, Ae.BLKSIZE]),
- S = ge([2, 3, Ae.BLKSIZE_s]),
- M = de(Ae.CBANDS + 1),
- y = de(Ae.CBANDS + 1),
- A = de(Ae.CBANDS + 2),
- k = ve(2),
- R = ve(2),
- x = ge([2, 576]),
- B = ve(Ae.CBANDS + 2),
- T = ve(Ae.CBANDS + 2);
- for (we.fill(T, 0), f = g.channels_out, e.mode == ye.JOINT_STEREO && (f = 4), d = e.VBR == Me.vbr_off ? 0 == g.ResvMax ? 0 : g.ResvSize / g.ResvMax * .5 : e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? .6 : 1, c = 0; c < g.channels_out; c++) {
- var E = t[c],
- C = a + 576 - 350 - 21 + 192;
- for (h = 0; h < 576; h++) {
- var I, L;
- for (I = E[C + h + 10], b = L = 0; b < 9; b += 2) I += pe[b] * (E[C + h + b] + E[C + h + 21 - b]), L += pe[b + 1] * (E[C + h + b + 1] + E[C + h + 21 - b - 1]);
- x[c][h] = I + L;
- }
- s[n][c].en.assign(g.en[c]), s[n][c].thm.assign(g.thm[c]), 2 < f && me();
- }
- for (c = 0; c < f; c++) {
- var P,
- H = de(12),
- O = [0, 0, 0, 0],
- N = de(12),
- V = 1,
- D = de(Ae.CBANDS),
- F = de(Ae.CBANDS),
- j = [0, 0, 0, 0],
- X = de(Ae.HBLKSIZE),
- Y = ge([3, Ae.HBLKSIZE_s]);
- for (h = 0; h < 3; h++) H[h] = g.nsPsy.last_en_subshort[c][h + 6], N[h] = H[h] / g.nsPsy.last_en_subshort[c][h + 4], O[0] += H[h];
- 2 == c && me();
- var z = x[1 & c],
- q = 0;
- for (h = 0; h < 9; h++) {
- for (var G = q + 64, U = 1; q < G; q++) U < Math.abs(z[q]) && (U = Math.abs(z[q]));
- g.nsPsy.last_en_subshort[c][h] = H[h + 3] = U, O[1 + h / 3] += U, U > H[h + 3 - 2] ? U /= H[h + 3 - 2] : U = H[h + 3 - 2] > 10 * U ? H[h + 3 - 2] / (10 * U) : 0, N[h + 3] = U;
- }
- for (e.analysis && me(), P = 3 == c ? g.nsPsy.attackthre_s : g.nsPsy.attackthre, h = 0; h < 12; h++) 0 == j[h / 3] && N[h] > P && (j[h / 3] = h % 3 + 1);
- for (h = 1; h < 4; h++) (O[h - 1] > O[h] ? O[h - 1] / O[h] : O[h] / O[h - 1]) < 1.7 && (j[h] = 0, 1 == h && (j[0] = 0));
- for (0 != j[0] && 0 != g.nsPsy.lastAttacks[c] && (j[0] = 0), 3 != g.nsPsy.lastAttacks[c] && j[0] + j[1] + j[2] + j[3] == 0 || ((V = 0) != j[1] && 0 != j[0] && (j[1] = 0), 0 != j[2] && 0 != j[1] && (j[2] = 0), 0 != j[3] && 0 != j[2] && (j[3] = 0)), c < 2 ? R[c] = V : me(), _[c] = g.tot_ener[c], se(e, X, Y, w, 1 & c, S, 1 & c, n, c, t, a), he(g, X, M, D, F), be(g, D, F, B), v = 0; v < 3; v++) {
- var K, Z;
- for (le(e, Y, y, A, c, v), oe(g, y, A, c, v), m = 0; m < Ae.SBMAX_s; m++) {
- if (Z = g.thm[c].s[m][v], Z *= .8, 2 <= j[v] || 1 == j[v + 1]) {
- var W = 0 != v ? v - 1 : 2,
- U = fe(g.thm[c].s[m][W], Z, .6 * d);
- Z = Math.min(Z, U);
- }
- if (1 == j[v]) {
- var W = 0 != v ? v - 1 : 2,
- U = fe(g.thm[c].s[m][W], Z, .3 * d);
- Z = Math.min(Z, U);
- } else if (0 != v && 3 == j[v - 1] || 0 == v && 3 == g.nsPsy.lastAttacks[c]) {
- var W = 2 != v ? v + 1 : 0,
- U = fe(g.thm[c].s[m][W], Z, .3 * d);
- Z = Math.min(Z, U);
- }
- K = H[3 * v + 3] + H[3 * v + 4] + H[3 * v + 5], 6 * H[3 * v + 5] < K && (Z *= .5, 6 * H[3 * v + 4] < K && (Z *= .5)), g.thm[c].s[m][v] = Z;
+ p = e.internal_flags,
+ b = Be(Pe.HBLKSIZE),
+ v = ke([3, Pe.HBLKSIZE_s]),
+ d = ke([2, Pe.BLKSIZE]),
+ g = ke([2, 3, Pe.BLKSIZE_s]),
+ S = ke([4, Pe.CBANDS]),
+ M = ke([4, Pe.CBANDS]),
+ w = ke([4, 3]),
+ R = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
+ A = Ae(2),
+ B = e.mode == Ee.JOINT_STEREO ? 4 : p.channels_out;
+ !function (e, t, a, s, n, r, i, o, _, l) {
+ for (var f = ke([2, 576]), c = e.internal_flags, h = c.channels_out, u = e.mode == Ee.JOINT_STEREO ? 4 : h, m = 0; m < h; m++) {
+ firbuf = t[m];
+ for (var p = a + 576 - 350 - ce + 192, b = 0; b < 576; b++) {
+ var v, d;
+ v = firbuf[p + b + 10];
+ for (var g = d = 0; g < (ce - 1) / 2 - 1; g += 2) v += X[g] * (firbuf[p + b + g] + firbuf[p + b + ce - g]), d += X[g + 1] * (firbuf[p + b + g + 1] + firbuf[p + b + ce - g - 1]);
+ f[m][b] = v + d;
}
+ n[s][m].en.assign(c.en[m]), n[s][m].thm.assign(c.thm[m]), 2 < u && (r[s][m].en.assign(c.en[m + 2]), r[s][m].thm.assign(c.thm[m + 2]));
}
- for (g.nsPsy.lastAttacks[c] = j[2], u = p = 0; u < g.npart_l; u++) {
- for (var Q = g.s3ind[u][0], $ = M[Q] * re[B[Q]], J = g.s3_ll[p++] * $; ++Q <= g.s3ind[u][1];) $ = M[Q] * re[B[Q]], J = ie(J, g.s3_ll[p++] * $, Q, Q - u, g, 0);
- J *= .158489319246111, g.blocktype_old[1 & c] == Ae.SHORT_TYPE ? A[u] = J : A[u] = fe(Math.min(J, Math.min(2 * g.nb_1[c][u], 16 * g.nb_2[c][u])), J, d), g.nb_2[c][u] = g.nb_1[c][u], g.nb_1[c][u] = J;
+ for (m = 0; m < u; m++) {
+ var S = Be(12),
+ M = Be(12),
+ w = [0, 0, 0, 0],
+ R = f[1 & m],
+ A = 0,
+ B = 3 == m ? c.nsPsy.attackthre_s : c.nsPsy.attackthre,
+ k = 1;
+ if (2 == m) for (b = 0, g = 576; 0 < g; ++b, --g) {
+ var y = f[0][b],
+ T = f[1][b];
+ f[0][b] = y + T, f[1][b] = y - T;
+ }
+ for (b = 0; b < 3; b++) M[b] = c.nsPsy.last_en_subshort[m][b + 6], S[b] = M[b] / c.nsPsy.last_en_subshort[m][b + 4], w[0] += M[b];
+ for (b = 0; b < 9; b++) {
+ for (var x = A + 64, E = 1; A < x; A++) E < Math.abs(R[A]) && (E = Math.abs(R[A]));
+ c.nsPsy.last_en_subshort[m][b] = M[b + 3] = E, w[1 + b / 3] += E, E > M[b + 3 - 2] ? E /= M[b + 3 - 2] : E = M[b + 3 - 2] > 10 * E ? M[b + 3 - 2] / (10 * E) : 0, S[b + 3] = E;
+ }
+ for (b = 0; b < 3; ++b) {
+ var P = M[3 * b + 3] + M[3 * b + 4] + M[3 * b + 5],
+ L = 1;
+ 6 * M[3 * b + 5] < P && (L *= .5, 6 * M[3 * b + 4] < P && (L *= .5)), o[m][b] = L;
+ }
+ if (e.analysis) {
+ var I = S[0];
+ for (b = 1; b < 12; b++) I < S[b] && (I = S[b]);
+ c.pinfo.ers[s][m] = c.pinfo.ers_save[m], c.pinfo.ers_save[m] = I;
+ }
+ for (b = 0; b < 12; b++) 0 == _[m][b / 3] && S[b] > B && (_[m][b / 3] = b % 3 + 1);
+ for (b = 1; b < 4; b++) {
+ var H = w[b - 1],
+ C = w[b];
+ Math.max(H, C) < 4e4 && H < 1.7 * C && C < 1.7 * H && (1 == b && _[m][0] <= _[m][b] && (_[m][0] = 0), _[m][b] = 0);
+ }
+ _[m][0] <= c.nsPsy.lastAttacks[m] && (_[m][0] = 0), 3 != c.nsPsy.lastAttacks[m] && _[m][0] + _[m][1] + _[m][2] + _[m][3] == 0 || ((k = 0) != _[m][1] && 0 != _[m][0] && (_[m][1] = 0), 0 != _[m][2] && 0 != _[m][1] && (_[m][2] = 0), 0 != _[m][3] && 0 != _[m][2] && (_[m][3] = 0)), m < 2 ? l[m] = k : 0 == k && (l[0] = l[1] = 0), i[m] = c.tot_ener[m];
}
- for (; u <= Ae.CBANDS; ++u) M[u] = 0, A[u] = 0;
- _e(g, M, A, c);
+ }(e, t, a, s, n, r, _, w, R, A), function (e, t) {
+ var a = e.internal_flags;
+ e.short_blocks != Te.short_block_coupled || 0 != t[0] && 0 != t[1] || (t[0] = t[1] = 0);
+ for (var s = 0; s < a.channels_out; s++) e.short_blocks == Te.short_block_dispensed && (t[s] = 1), e.short_blocks == Te.short_block_forced && (t[s] = 0);
+ }(e, A);
+ for (var k = 0; k < B; k++) {
+ D(e, t, a, k, s, b, d, T = 1 & k), c = s, h = k, u = b, m = void 0, m = (f = e).internal_flags, 2 == f.athaa_loudapprox && h < 2 && (m.loudness_sq[c][h] = m.loudness_sq_save[h], m.loudness_sq_save[h] = N(u, m)), 0 != A[T] ? z(p, b, S[k], M[k], k) : F(p, k);
}
- for (e.mode != ye.STEREO && e.mode != ye.JOINT_STEREO || me(), e.mode == ye.JOINT_STEREO && me(), function (e, t, a, n) {
- var s = e.internal_flags;
- e.short_blocks != Se.short_block_coupled || 0 != t[0] && 0 != t[1] || (t[0] = t[1] = 0);
- for (var r = 0; r < s.channels_out; r++) n[r] = Ae.NORM_TYPE, e.short_blocks == Se.short_block_dispensed && (t[r] = 1), e.short_blocks == Se.short_block_forced && (t[r] = 0), 0 != t[r] ? s.blocktype_old[r] == Ae.SHORT_TYPE && (n[r] = Ae.STOP_TYPE) : (n[r] = Ae.SHORT_TYPE, s.blocktype_old[r] == Ae.NORM_TYPE && (s.blocktype_old[r] = Ae.START_TYPE), s.blocktype_old[r] == Ae.STOP_TYPE && (s.blocktype_old[r] = Ae.SHORT_TYPE)), a[r] = s.blocktype_old[r], s.blocktype_old[r] = n[r];
- }(e, R, l, k), c = 0; c < f; c++) {
- var ee,
- te,
- ae,
- ne = 0;
- 1 < c ? me() : (ee = i, ne = 0, te = l[c], ae = s[n][c]), ee[ne + c] = te == Ae.SHORT_TYPE ? ce(ae, g.masking_lower) : ue(ae, g.masking_lower), e.analysis && (g.pinfo.pe[n][c] = ee[ne + c]);
+ A[0] + A[1] == 2 && e.mode == Ee.JOINT_STEREO && Z(S, M, p.mld_cb_l, p.ATH.cb_l, e.ATHlower * p.ATH.adjust, e.msfix, p.npart_l);
+ for (k = 0; k < B; k++) {
+ 0 != A[T = 1 & k] && be(p, S[k], M[k], k);
+ }
+ for (var y = 0; y < 3; y++) {
+ for (k = 0; k < B; ++k) {
+ 0 != A[T = 1 & k] ? q(p, k, y) : (Y(e, t, a, k, y, v, g, T), j(e, v, S[k], M[k], k, y));
+ }
+ A[0] + A[1] == 0 && e.mode == Ee.JOINT_STEREO && Z(S, M, p.mld_cb_s, p.ATH.cb_s, e.ATHlower * p.ATH.adjust, e.msfix, p.npart_s);
+ for (k = 0; k < B; ++k) {
+ 0 == A[T = 1 & k] && pe(p, S[k], M[k], k, y);
+ }
+ }
+ for (k = 0; k < B; k++) {
+ var T;
+ if (0 == A[T = 1 & k]) for (var x = 0; x < Pe.SBMAX_s; x++) {
+ var E = Be(3);
+ for (y = 0; y < 3; y++) {
+ var P = p.thm[k].s[x][y];
+ if (P *= .8, 2 <= R[k][y] || 1 == R[k][y + 1]) {
+ var L = 0 != y ? y - 1 : 2,
+ I = de(p.thm[k].s[x][L], P, .36);
+ P = Math.min(P, I);
+ } else if (1 == R[k][y]) {
+ L = 0 != y ? y - 1 : 2, I = de(p.thm[k].s[x][L], P, .6 * fe);
+ P = Math.min(P, I);
+ } else if (0 != y && 3 == R[k][y - 1] || 0 == y && 3 == p.nsPsy.lastAttacks[k]) {
+ L = 2 != y ? y + 1 : 0, I = de(p.thm[k].s[x][L], P, .6 * fe);
+ P = Math.min(P, I);
+ }
+ P *= w[k][y], E[y] = P;
+ }
+ for (y = 0; y < 3; y++) p.thm[k].s[x][y] = E[y];
+ }
+ }
+ for (k = 0; k < B; k++) p.nsPsy.lastAttacks[k] = R[k][2];
+ !function (e, t, a) {
+ for (var s = e.internal_flags, n = 0; n < s.channels_out; n++) {
+ var r = Pe.NORM_TYPE;
+ 0 != t[n] ? s.blocktype_old[n] == Pe.SHORT_TYPE && (r = Pe.STOP_TYPE) : (r = Pe.SHORT_TYPE, s.blocktype_old[n] == Pe.NORM_TYPE && (s.blocktype_old[n] = Pe.START_TYPE), s.blocktype_old[n] == Pe.STOP_TYPE && (s.blocktype_old[n] = Pe.SHORT_TYPE)), a[n] = s.blocktype_old[n], s.blocktype_old[n] = r;
+ }
+ }(e, A, l);
+ for (k = 0; k < B; k++) {
+ var H, C, V, O;
+ 1 < k ? (H = o, C = -2, V = Pe.NORM_TYPE, l[0] != Pe.SHORT_TYPE && l[1] != Pe.SHORT_TYPE || (V = Pe.SHORT_TYPE), O = r[s][k - 2]) : (H = i, C = 0, V = l[k], O = n[s][k]), H[C + k] = V == Pe.SHORT_TYPE ? ge(O, p.masking_lower) : Se(O, p.masking_lower), e.analysis && (p.pinfo.pe[s][k] = H[C + k]);
}
return 0;
}, this.psymodel_init = function (e) {
var t,
a = e.internal_flags,
- n = !0,
- s = 13,
+ s = !0,
+ n = 13,
r = 0,
i = 0,
o = -8.25,
_ = -4.5,
- l = de(Ae.CBANDS),
- f = de(Ae.CBANDS),
- c = de(Ae.CBANDS),
- u = e.out_samplerate;
+ l = Be(Pe.CBANDS),
+ f = Be(Pe.CBANDS),
+ c = Be(Pe.CBANDS),
+ h = e.out_samplerate;
switch (e.experimentalZ) {
default:
case 0:
- n = !0;
+ s = !0;
break;
case 1:
- n = e.VBR != Me.vbr_mtrh && e.VBR != Me.vbr_mt;
+ s = e.VBR != xe.vbr_mtrh && e.VBR != xe.vbr_mt;
break;
case 2:
- n = !1;
+ s = !1;
break;
case 3:
- s = 8, r = -1.75, i = -.0125, o = -8.25, _ = -2.25;
+ n = 8, r = -1.75, i = -.0125, o = -8.25, _ = -2.25;
}
- for (a.ms_ener_ratio_old = .25, a.blocktype_old[0] = a.blocktype_old[1] = Ae.NORM_TYPE, t = 0; t < 4; ++t) {
- for (var h = 0; h < Ae.CBANDS; ++h) a.nb_1[t][h] = 1e20, a.nb_2[t][h] = 1e20, a.nb_s1[t][h] = a.nb_s2[t][h] = 1;
- for (var b = 0; b < Ae.SBMAX_l; b++) a.en[t].l[b] = 1e20, a.thm[t].l[b] = 1e20;
- for (var h = 0; h < 3; ++h) {
- for (var b = 0; b < Ae.SBMAX_s; b++) a.en[t].s[b][h] = 1e20, a.thm[t].s[b][h] = 1e20;
+ for (a.ms_ener_ratio_old = .25, a.blocktype_old[0] = a.blocktype_old[1] = Pe.NORM_TYPE, t = 0; t < 4; ++t) {
+ for (var u = 0; u < Pe.CBANDS; ++u) a.nb_1[t][u] = 1e20, a.nb_2[t][u] = 1e20, a.nb_s1[t][u] = a.nb_s2[t][u] = 1;
+ for (var m = 0; m < Pe.SBMAX_l; m++) a.en[t].l[m] = 1e20, a.thm[t].l[m] = 1e20;
+ for (u = 0; u < 3; ++u) {
+ for (m = 0; m < Pe.SBMAX_s; m++) a.en[t].s[m][u] = 1e20, a.thm[t].s[m][u] = 1e20;
a.nsPsy.lastAttacks[t] = 0;
}
- for (var h = 0; h < 9; h++) a.nsPsy.last_en_subshort[t][h] = 10;
+ for (u = 0; u < 9; u++) a.nsPsy.last_en_subshort[t][u] = 10;
}
- for (a.loudness_sq_save[0] = a.loudness_sq_save[1] = 0, a.npart_l = H(a.numlines_l, a.bo_l, a.bm_l, l, f, a.mld_l, a.PSY.bo_l_weight, u, Ae.BLKSIZE, a.scalefac_band.l, Ae.BLKSIZE / 1152, Ae.SBMAX_l), t = 0; t < a.npart_l; t++) {
+ for (a.loudness_sq_save[0] = a.loudness_sq_save[1] = 0, a.npart_l = C(a.numlines_l, a.bo_l, a.bm_l, l, f, a.mld_l, a.PSY.bo_l_weight, h, Pe.BLKSIZE, a.scalefac_band.l, Pe.BLKSIZE / 1152, Pe.SBMAX_l), t = 0; t < a.npart_l; t++) {
var p = r;
- l[t] >= s && (p = i * (l[t] - s) / (24 - s) + r * (24 - l[t]) / (24 - s)), c[t] = Math.pow(10, p / 10), 0 < a.numlines_l[t] ? a.rnumlines_l[t] = 1 / a.numlines_l[t] : a.rnumlines_l[t] = 0;
+ l[t] >= n && (p = i * (l[t] - n) / (24 - n) + r * (24 - l[t]) / (24 - n)), c[t] = Math.pow(10, p / 10), 0 < a.numlines_l[t] ? a.rnumlines_l[t] = 1 / a.numlines_l[t] : a.rnumlines_l[t] = 0;
}
- a.s3_ll = O(a.s3ind, a.npart_l, l, f, c, n);
- var m,
- h = 0;
+ a.s3_ll = V(a.s3ind, a.npart_l, l, f, c, s);
+ var b;
+ u = 0;
for (t = 0; t < a.npart_l; t++) {
- g = D.MAX_VALUE;
- for (var v = 0; v < a.numlines_l[t]; v++, h++) {
- var d = u * h / (1e3 * Ae.BLKSIZE);
- w = this.ATHformula(1e3 * d, e) - 20, w = Math.pow(10, .1 * w), (w *= a.numlines_l[t]) < g && (g = w);
+ g = K.MAX_VALUE;
+ for (var v = 0; v < a.numlines_l[t]; v++, u++) {
+ var d = h * u / (1e3 * Pe.BLKSIZE);
+ S = this.ATHformula(1e3 * d, e) - 20, S = Math.pow(10, .1 * S), (S *= a.numlines_l[t]) < g && (g = S);
}
a.ATH.cb_l[t] = g, 6 < (g = 20 * l[t] / 10 - 20) && (g = 100), g < -15 && (g = -15), g -= 8, a.minval_l[t] = Math.pow(10, g / 10) * a.numlines_l[t];
}
- for (a.npart_s = H(a.numlines_s, a.bo_s, a.bm_s, l, f, a.mld_s, a.PSY.bo_s_weight, u, Ae.BLKSIZE_s, a.scalefac_band.s, Ae.BLKSIZE_s / 384, Ae.SBMAX_s), t = h = 0; t < a.npart_s; t++) {
- var g,
- p = o;
- l[t] >= s && (p = _ * (l[t] - s) / (24 - s) + o * (24 - l[t]) / (24 - s)), c[t] = Math.pow(10, p / 10), g = D.MAX_VALUE;
- for (var v = 0; v < a.numlines_s[t]; v++, h++) {
- var w,
- d = u * h / (1e3 * Ae.BLKSIZE_s);
- w = this.ATHformula(1e3 * d, e) - 20, w = Math.pow(10, .1 * w), (w *= a.numlines_s[t]) < g && (g = w);
+ for (a.npart_s = C(a.numlines_s, a.bo_s, a.bm_s, l, f, a.mld_s, a.PSY.bo_s_weight, h, Pe.BLKSIZE_s, a.scalefac_band.s, Pe.BLKSIZE_s / 384, Pe.SBMAX_s), t = u = 0; t < a.npart_s; t++) {
+ var g;
+ p = o;
+ l[t] >= n && (p = _ * (l[t] - n) / (24 - n) + o * (24 - l[t]) / (24 - n)), c[t] = Math.pow(10, p / 10), g = K.MAX_VALUE;
+ for (v = 0; v < a.numlines_s[t]; v++, u++) {
+ var S;
+ d = h * u / (1e3 * Pe.BLKSIZE_s);
+ S = this.ATHformula(1e3 * d, e) - 20, S = Math.pow(10, .1 * S), (S *= a.numlines_s[t]) < g && (g = S);
}
a.ATH.cb_s[t] = g, g = 7 * l[t] / 12 - 7, 12 < l[t] && (g *= 1 + 3.1 * Math.log(1 + g)), l[t] < 12 && (g *= 1 + 2.3 * Math.log(1 - g)), g < -15 && (g = -15), g -= 8, a.minval_s[t] = Math.pow(10, g / 10) * a.numlines_s[t];
}
- a.s3_ss = O(a.s3ind_s, a.npart_s, l, f, c, n), x = Math.pow(10, (C + 1) / 16), B = Math.pow(10, (I + 1) / 16), T = Math.pow(10, L / 10), k.init_fft(a), a.decay = Math.exp(-1 * R / (.01 * u / 192)), m = 3.5, 0 != (2 & e.exp_nspsytune) && (m = 1), 0 < Math.abs(e.msfix) && (m = e.msfix), e.msfix = m;
- for (var S = 0; S < a.npart_l; S++) a.s3ind[S][1] > a.npart_l - 1 && (a.s3ind[S][1] = a.npart_l - 1);
- var M = 576 * a.mode_gr / u;
- if (a.ATH.decay = Math.pow(10, -1.2 * M), a.ATH.adjust = .01, -(a.ATH.adjustLimit = 1) != e.ATHtype) {
- var y = e.out_samplerate / Ae.BLKSIZE,
+ a.s3_ss = V(a.s3ind_s, a.npart_s, l, f, c, s), y = Math.pow(10, (P + 1) / 16), T = Math.pow(10, (L + 1) / 16), x = Math.pow(10, I / 10), B.init_fft(a), a.decay = Math.exp(-1 * k / (.01 * h / 192)), b = 3.5, 0 != (2 & e.exp_nspsytune) && (b = 1), 0 < Math.abs(e.msfix) && (b = e.msfix), e.msfix = b;
+ for (var M = 0; M < a.npart_l; M++) a.s3ind[M][1] > a.npart_l - 1 && (a.s3ind[M][1] = a.npart_l - 1);
+ var w = 576 * a.mode_gr / h;
+ if (a.ATH.decay = Math.pow(10, -1.2 * w), a.ATH.adjust = .01, -(a.ATH.adjustLimit = 1) != e.ATHtype) {
+ var R = e.out_samplerate / Pe.BLKSIZE,
A = 0;
- for (t = d = 0; t < Ae.BLKSIZE / 2; ++t) d += y, a.ATH.eql_w[t] = 1 / Math.pow(10, this.ATHformula(d, e) / 10), A += a.ATH.eql_w[t];
- for (A = 1 / A, t = Ae.BLKSIZE / 2; 0 <= --t;) a.ATH.eql_w[t] *= A;
+ for (t = d = 0; t < Pe.BLKSIZE / 2; ++t) d += R, a.ATH.eql_w[t] = 1 / Math.pow(10, this.ATHformula(d, e) / 10), A += a.ATH.eql_w[t];
+ for (A = 1 / A, t = Pe.BLKSIZE / 2; 0 <= --t;) a.ATH.eql_w[t] *= A;
}
- for (var S = h = 0; S < a.npart_s; ++S) for (t = 0; t < a.numlines_s[S]; ++t) ++h;
- for (var S = h = 0; S < a.npart_l; ++S) for (t = 0; t < a.numlines_l[S]; ++t) ++h;
- for (t = h = 0; t < a.npart_l; t++) {
- var d = u * (h + a.numlines_l[t] / 2) / (1 * Ae.BLKSIZE);
- a.mld_cb_l[t] = N(d), h += a.numlines_l[t];
+ for (M = u = 0; M < a.npart_s; ++M) for (t = 0; t < a.numlines_s[M]; ++t) ++u;
+ for (M = u = 0; M < a.npart_l; ++M) for (t = 0; t < a.numlines_l[M]; ++t) ++u;
+ for (t = u = 0; t < a.npart_l; t++) {
+ d = h * (u + a.numlines_l[t] / 2) / (1 * Pe.BLKSIZE);
+ a.mld_cb_l[t] = O(d), u += a.numlines_l[t];
}
- for (; t < Ae.CBANDS; ++t) a.mld_cb_l[t] = 1;
- for (t = h = 0; t < a.npart_s; t++) {
- var d = u * (h + a.numlines_s[t] / 2) / (1 * Ae.BLKSIZE_s);
- a.mld_cb_s[t] = N(d), h += a.numlines_s[t];
+ for (; t < Pe.CBANDS; ++t) a.mld_cb_l[t] = 1;
+ for (t = u = 0; t < a.npart_s; t++) {
+ d = h * (u + a.numlines_s[t] / 2) / (1 * Pe.BLKSIZE_s);
+ a.mld_cb_s[t] = O(d), u += a.numlines_s[t];
}
- for (; t < Ae.CBANDS; ++t) a.mld_cb_s[t] = 1;
+ for (; t < Pe.CBANDS; ++t) a.mld_cb_s[t] = 1;
return 0;
}, this.ATHformula = function (e, t) {
var a;
switch (t.ATHtype) {
case 0:
- a = n(e, 9);
+ a = s(e, 9);
break;
case 1:
- a = n(e, -1);
+ a = s(e, -1);
break;
case 2:
- a = n(e, 0);
+ a = s(e, 0);
break;
case 3:
- a = n(e, 1) + 6;
+ a = s(e, 1) + 6;
break;
case 4:
- a = n(e, t.ATHcurve);
+ a = s(e, t.ATHcurve);
break;
default:
- a = n(e, 0);
+ a = s(e, 0);
}
return a;
};
}
- function Y() {
- var T,
- E,
- u,
- h,
- b,
- C = this;
- Y.V9 = 410, Y.V8 = 420, Y.V7 = 430, Y.V6 = 440, Y.V5 = 450, Y.V4 = 460, Y.V3 = 470, Y.V2 = 480, Y.V1 = 490, Y.V0 = 500, Y.R3MIX = 1e3, Y.STANDARD = 1001, Y.EXTREME = 1002, Y.INSANE = 1003, Y.STANDARD_FAST = 1004, Y.EXTREME_FAST = 1005, Y.MEDIUM = 1006, Y.MEDIUM_FAST = 1007, Y.LAME_MAXMP3BUFFER = 147456;
- var p,
- m,
- v = new X();
- function d() {
+ function U() {
+ var o = this;
+ U.V9 = 410, U.V8 = 420, U.V7 = 430, U.V6 = 440, U.V5 = 450, U.V4 = 460, U.V3 = 470, U.V2 = 480, U.V1 = 490, U.V0 = 500, U.R3MIX = 1e3, U.STANDARD = 1001, U.EXTREME = 1002, U.INSANE = 1003, U.STANDARD_FAST = 1004, U.EXTREME_FAST = 1005, U.MEDIUM = 1006, U.MEDIUM_FAST = 1007;
+ var w, R, g, S, M;
+ U.LAME_MAXMP3BUFFER = 147456;
+ var A,
+ B,
+ k,
+ y = new G();
+ function T() {
this.lowerlimit = 0;
}
- function s(e, t) {
+ function n(e, t) {
this.lowpass = t;
}
- this.enc = new Ae(), this.setModules = function (e, t, a, n, s, r, i, o, _) {
- T = e, E = t, u = a, h = n, b = s, p = r, m = o, this.enc.setModules(E, v, h, p);
+ this.enc = new Pe(), this.setModules = function (e, t, a, s, n, r, i, o, _) {
+ w = e, R = t, g = a, S = s, M = n, A = r, B = o, k = _, this.enc.setModules(R, y, S, A);
};
- var I = 4294479419;
- function g(e, t) {
- var a = [new s(8, 2e3), new s(16, 3700), new s(24, 3900), new s(32, 5500), new s(40, 7e3), new s(48, 7500), new s(56, 1e4), new s(64, 11e3), new s(80, 13500), new s(96, 15100), new s(112, 15600), new s(128, 17e3), new s(160, 17500), new s(192, 18600), new s(224, 19400), new s(256, 19700), new s(320, 20500)],
- n = C.nearestBitrateFullIndex(t);
- e.lowerlimit = a[n].lowpass;
+ var x = 4294479419;
+ function E(e) {
+ return 1 < e ? 0 : e <= 0 ? 1 : Math.cos(Math.PI / 2 * e);
}
- function L(e) {
- var t = Ae.BLKSIZE + e.framesize - Ae.FFTOFFSET;
+ function P(e, t) {
+ switch (e) {
+ case 44100:
+ return t.version = 1, 0;
+ case 48e3:
+ return t.version = 1;
+ case 32e3:
+ return t.version = 1, 2;
+ case 22050:
+ return t.version = 0;
+ case 24e3:
+ return t.version = 0, 1;
+ case 16e3:
+ return t.version = 0, 2;
+ case 11025:
+ return t.version = 0;
+ case 12e3:
+ return t.version = 0, 1;
+ case 8e3:
+ return t.version = 0, 2;
+ default:
+ return t.version = 0, -1;
+ }
+ }
+ function L(e, t, a) {
+ a < 16e3 && (t = 2);
+ for (var s = F.bitrate_table[t][1], n = 2; n <= 14; n++) 0 < F.bitrate_table[t][n] && Math.abs(F.bitrate_table[t][n] - e) < Math.abs(s - e) && (s = F.bitrate_table[t][n]);
+ return s;
+ }
+ function I(e, t, a) {
+ a < 16e3 && (t = 2);
+ for (var s = 0; s <= 14; s++) if (0 < F.bitrate_table[t][s] && F.bitrate_table[t][s] == e) return s;
+ return -1;
+ }
+ function H(e, t) {
+ var a = [new n(8, 2e3), new n(16, 3700), new n(24, 3900), new n(32, 5500), new n(40, 7e3), new n(48, 7500), new n(56, 1e4), new n(64, 11e3), new n(80, 13500), new n(96, 15100), new n(112, 15600), new n(128, 17e3), new n(160, 17500), new n(192, 18600), new n(224, 19400), new n(256, 19700), new n(320, 20500)],
+ s = o.nearestBitrateFullIndex(t);
+ e.lowerlimit = a[s].lowpass;
+ }
+ function C(e) {
+ var t = Pe.BLKSIZE + e.framesize - Pe.FFTOFFSET;
return t = Math.max(t, 512 + e.framesize - 32);
}
- function P() {
+ function V(e, t, a, s, n, r) {
+ var i = o.enc.lame_encode_mp3_frame(e, t, a, s, n, r);
+ return e.frameNum++, i;
+ }
+ function O() {
this.n_in = 0, this.n_out = 0;
}
- function H(e, t, a, n, s, r) {
+ function f() {
+ this.num_used = 0;
+ }
+ function N(e, t, a) {
+ var s = Math.PI * t;
+ (e /= a) < 0 && (e = 0), 1 < e && (e = 1);
+ var n = e - .5,
+ r = .42 - .5 * Math.cos(2 * e * Math.PI) + .08 * Math.cos(4 * e * Math.PI);
+ return Math.abs(n) < 1e-9 ? s / Math.PI : r * Math.sin(a * s * n) / (Math.PI * a * n);
+ }
+ function c(e, t, a, s, n, r, i, o, _) {
+ var l,
+ f,
+ c = e.internal_flags,
+ h = 0,
+ u = e.out_samplerate / function e(t, a) {
+ return 0 != a ? e(a, t % a) : t;
+ }(e.out_samplerate, e.in_samplerate);
+ Z.BPC < u && (u = Z.BPC);
+ var m = Math.abs(c.resample_ratio - Math.floor(.5 + c.resample_ratio)) < 1e-4 ? 1 : 0,
+ p = 1 / c.resample_ratio;
+ 1 < p && (p = 1);
+ var b = 31;
+ 0 == b % 2 && --b;
+ var v = (b += m) + 1;
+ if (0 == c.fill_buffer_resample_init) {
+ for (c.inbuf_old[0] = Be(v), c.inbuf_old[1] = Be(v), l = 0; l <= 2 * u; ++l) c.blackfilt[l] = Be(v);
+ for (c.itime[0] = 0, h = c.itime[1] = 0; h <= 2 * u; h++) {
+ var d = 0,
+ g = (h - u) / (2 * u);
+ for (l = 0; l <= b; l++) d += c.blackfilt[h][l] = N(l - g, p, b);
+ for (l = 0; l <= b; l++) c.blackfilt[h][l] /= d;
+ }
+ c.fill_buffer_resample_init = 1;
+ }
+ var S = c.inbuf_old[_];
+ for (f = 0; f < s; f++) {
+ var M, w;
+ if (M = f * c.resample_ratio, i <= b + (h = 0 | Math.floor(M - c.itime[_])) - b / 2) break;
+ g = M - c.itime[_] - (h + b % 2 * .5);
+ w = 0 | Math.floor(2 * g * u + u + .5);
+ var R = 0;
+ for (l = 0; l <= b; ++l) {
+ var A = l + h - b / 2;
+ R += (A < 0 ? S[v + A] : n[r + A]) * c.blackfilt[w][l];
+ }
+ t[a + f] = R;
+ }
+ if (o.num_used = Math.min(i, b + h - b / 2), c.itime[_] += o.num_used - f * c.resample_ratio, o.num_used >= v) for (l = 0; l < v; l++) S[l] = n[r + o.num_used + l - v];else {
+ var B = v - o.num_used;
+ for (l = 0; l < B; ++l) S[l] = S[l + o.num_used];
+ for (h = 0; l < v; ++l, ++h) S[l] = n[r + h];
+ }
+ return f;
+ }
+ function D(e, t, a, s, n, r) {
var i = e.internal_flags;
- if (i.resample_ratio < .9999 || 1.0001 < i.resample_ratio) me();else {
- r.n_out = Math.min(e.framesize, s), r.n_in = r.n_out;
- for (var o = 0; o < r.n_out; ++o) t[0][i.mf_size + o] = a[0][n + o], 2 == i.channels_out && (t[1][i.mf_size + o] = a[1][n + o]);
+ if (i.resample_ratio < .9999 || 1.0001 < i.resample_ratio) for (var o = 0; o < i.channels_out; o++) {
+ var _ = new f();
+ r.n_out = c(e, t[o], i.mf_size, e.framesize, a[o], s, n, _, o), r.n_in = _.num_used;
+ } else {
+ r.n_out = Math.min(e.framesize, n), r.n_in = r.n_out;
+ for (var l = 0; l < r.n_out; ++l) t[0][i.mf_size + l] = a[0][s + l], 2 == i.channels_out && (t[1][i.mf_size + l] = a[1][s + l]);
}
}
this.lame_init = function () {
var e,
t,
a = new function () {
- this.class_id = 0, this.num_samples = 0, this.num_channels = 0, this.in_samplerate = 0, this.out_samplerate = 0, this.scale = 0, this.scale_left = 0, this.scale_right = 0, this.analysis = !1, this.bWriteVbrTag = !1, this.decode_only = !1, this.quality = 0, this.mode = ye.STEREO, this.force_ms = !1, this.free_format = !1, this.findReplayGain = !1, this.decode_on_the_fly = !1, this.write_id3tag_automatic = !1, this.brate = 0, this.compression_ratio = 0, this.copyright = 0, this.original = 0, this.extension = 0, this.emphasis = 0, this.error_protection = 0, this.strict_ISO = !1, this.disable_reservoir = !1, this.quant_comp = 0, this.quant_comp_short = 0, this.experimentalY = !1, this.experimentalZ = 0, this.exp_nspsytune = 0, this.preset = 0, this.VBR = null, this.VBR_q_frac = 0, this.VBR_q = 0, this.VBR_mean_bitrate_kbps = 0, this.VBR_min_bitrate_kbps = 0, this.VBR_max_bitrate_kbps = 0, this.VBR_hard_min = 0, this.lowpassfreq = 0, this.highpassfreq = 0, this.lowpasswidth = 0, this.highpasswidth = 0, this.maskingadjust = 0, this.maskingadjust_short = 0, this.ATHonly = !1, this.ATHshort = !1, this.noATH = !1, this.ATHtype = 0, this.ATHcurve = 0, this.ATHlower = 0, this.athaa_type = 0, this.athaa_loudapprox = 0, this.athaa_sensitivity = 0, this.short_blocks = null, this.useTemporal = !1, this.interChRatio = 0, this.msfix = 0, this.tune = !1, this.tune_value_a = 0, this.version = 0, this.encoder_delay = 0, this.encoder_padding = 0, this.framesize = 0, this.frameNum = 0, this.lame_allocated_gfp = 0, this.internal_flags = null;
- }(),
- n = ((e = a).class_id = I, t = e.internal_flags = new j(), e.mode = ye.NOT_SET, e.original = 1, e.in_samplerate = 44100, e.num_channels = 2, e.num_samples = -1, e.bWriteVbrTag = !0, e.quality = -1, e.short_blocks = null, t.subblock_gain = -1, e.lowpassfreq = 0, e.highpassfreq = 0, e.lowpasswidth = -1, e.highpasswidth = -1, e.VBR = Me.vbr_off, e.VBR_q = 4, e.ATHcurve = -1, e.VBR_mean_bitrate_kbps = 128, e.VBR_min_bitrate_kbps = 0, e.VBR_max_bitrate_kbps = 0, e.VBR_hard_min = 0, t.VBR_min_bitrate = 1, t.VBR_max_bitrate = 13, e.quant_comp = -1, e.quant_comp_short = -1, e.msfix = -1, t.resample_ratio = 1, t.OldValue[0] = 180, t.OldValue[1] = 180, t.CurrentStep[0] = 4, t.CurrentStep[1] = 4, t.masking_lower = 1, t.nsPsy.attackthre = -1, t.nsPsy.attackthre_s = -1, e.scale = -1, e.athaa_type = -1, e.ATHtype = -1, e.athaa_loudapprox = -1, e.athaa_sensitivity = 0, e.useTemporal = null, e.interChRatio = -1, t.mf_samples_to_encode = Ae.ENCDELAY + Ae.POSTDELAY, e.encoder_padding = 0, t.mf_size = Ae.ENCDELAY - Ae.MDCTDELAY, e.findReplayGain = !1, e.decode_on_the_fly = !1, t.decode_on_the_fly = !1, t.findReplayGain = !1, t.findPeakSample = !1, t.RadioGain = 0, t.AudiophileGain = 0, t.noclipGainChange = 0, t.noclipScale = -1, e.preset = 0, e.write_id3tag_automatic = !0, 0);
- return 0 != n ? null : (a.lame_allocated_gfp = 1, a);
+ this.class_id = 0, this.num_samples = 0, this.num_channels = 0, this.in_samplerate = 0, this.out_samplerate = 0, this.scale = 0, this.scale_left = 0, this.scale_right = 0, this.analysis = !1, this.bWriteVbrTag = !1, this.decode_only = !1, this.quality = 0, this.mode = Ee.STEREO, this.force_ms = !1, this.free_format = !1, this.findReplayGain = !1, this.decode_on_the_fly = !1, this.write_id3tag_automatic = !1, this.brate = 0, this.compression_ratio = 0, this.copyright = 0, this.original = 0, this.extension = 0, this.emphasis = 0, this.error_protection = 0, this.strict_ISO = !1, this.disable_reservoir = !1, this.quant_comp = 0, this.quant_comp_short = 0, this.experimentalY = !1, this.experimentalZ = 0, this.exp_nspsytune = 0, this.preset = 0, this.VBR = null, this.VBR_q_frac = 0, this.VBR_q = 0, this.VBR_mean_bitrate_kbps = 0, this.VBR_min_bitrate_kbps = 0, this.VBR_max_bitrate_kbps = 0, this.VBR_hard_min = 0, this.lowpassfreq = 0, this.highpassfreq = 0, this.lowpasswidth = 0, this.highpasswidth = 0, this.maskingadjust = 0, this.maskingadjust_short = 0, this.ATHonly = !1, this.ATHshort = !1, this.noATH = !1, this.ATHtype = 0, this.ATHcurve = 0, this.ATHlower = 0, this.athaa_type = 0, this.athaa_loudapprox = 0, this.athaa_sensitivity = 0, this.short_blocks = null, this.useTemporal = !1, this.interChRatio = 0, this.msfix = 0, this.tune = !1, this.tune_value_a = 0, this.version = 0, this.encoder_delay = 0, this.encoder_padding = 0, this.framesize = 0, this.frameNum = 0, this.lame_allocated_gfp = 0, this.internal_flags = null;
+ }();
+ return 0 != ((e = a).class_id = x, t = e.internal_flags = new Z(), e.mode = Ee.NOT_SET, e.original = 1, e.in_samplerate = 44100, e.num_channels = 2, e.num_samples = -1, e.bWriteVbrTag = !0, e.quality = -1, e.short_blocks = null, t.subblock_gain = -1, e.lowpassfreq = 0, e.highpassfreq = 0, e.lowpasswidth = -1, e.highpasswidth = -1, e.VBR = xe.vbr_off, e.VBR_q = 4, e.ATHcurve = -1, e.VBR_mean_bitrate_kbps = 128, e.VBR_min_bitrate_kbps = 0, e.VBR_max_bitrate_kbps = 0, e.VBR_hard_min = 0, t.VBR_min_bitrate = 1, t.VBR_max_bitrate = 13, e.quant_comp = -1, e.quant_comp_short = -1, e.msfix = -1, t.resample_ratio = 1, t.OldValue[0] = 180, t.OldValue[1] = 180, t.CurrentStep[0] = 4, t.CurrentStep[1] = 4, t.masking_lower = 1, t.nsPsy.attackthre = -1, t.nsPsy.attackthre_s = -1, e.scale = -1, e.athaa_type = -1, e.ATHtype = -1, e.athaa_loudapprox = -1, e.athaa_sensitivity = 0, e.useTemporal = null, e.interChRatio = -1, t.mf_samples_to_encode = Pe.ENCDELAY + Pe.POSTDELAY, e.encoder_padding = 0, t.mf_size = Pe.ENCDELAY - Pe.MDCTDELAY, e.findReplayGain = !1, e.decode_on_the_fly = !1, t.decode_on_the_fly = !1, t.findReplayGain = !1, t.findPeakSample = !1, t.RadioGain = 0, t.AudiophileGain = 0, t.noclipGainChange = 0, t.noclipScale = -1, e.preset = 0, e.write_id3tag_automatic = !0, 0) ? null : (a.lame_allocated_gfp = 1, a);
}, this.nearestBitrateFullIndex = function (e) {
var t = [8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320],
a = 0,
- n = 0,
s = 0,
+ n = 0,
r = 0;
- r = t[16], n = t[s = 16], a = 16;
+ r = t[16], s = t[n = 16], a = 16;
for (var i = 0; i < 16; i++) if (Math.max(e, t[i + 1]) != e) {
- r = t[i + 1], s = i + 1, n = t[i], a = i;
+ r = t[i + 1], n = i + 1, s = t[i], a = i;
break;
}
- return e - n < r - e ? a : s;
+ return e - s < r - e ? a : n;
}, this.lame_init_params = function (e) {
var t,
a,
+ s,
n = e.internal_flags;
if (n.Class_ID = 0, null == n.ATH && (n.ATH = new function () {
- this.useAdjust = 0, this.aaSensitivityP = 0, this.adjust = 0, this.adjustLimit = 0, this.decay = 0, this.floor = 0, this.l = de(Ae.SBMAX_l), this.s = de(Ae.SBMAX_s), this.psfb21 = de(Ae.PSFB21), this.psfb12 = de(Ae.PSFB12), this.cb_l = de(Ae.CBANDS), this.cb_s = de(Ae.CBANDS), this.eql_w = de(Ae.BLKSIZE / 2);
+ this.useAdjust = 0, this.aaSensitivityP = 0, this.adjust = 0, this.adjustLimit = 0, this.decay = 0, this.floor = 0, this.l = Be(Pe.SBMAX_l), this.s = Be(Pe.SBMAX_s), this.psfb21 = Be(Pe.PSFB21), this.psfb12 = Be(Pe.PSFB12), this.cb_l = Be(Pe.CBANDS), this.cb_s = Be(Pe.CBANDS), this.eql_w = Be(Pe.BLKSIZE / 2);
}()), null == n.PSY && (n.PSY = new function () {
- this.mask_adjust = 0, this.mask_adjust_short = 0, this.bo_l_weight = de(Ae.SBMAX_l), this.bo_s_weight = de(Ae.SBMAX_s);
- }()), null == n.rgdata && (n.rgdata = new function () {}()), n.channels_in = e.num_channels, 1 == n.channels_in && (e.mode = ye.MONO), n.channels_out = e.mode == ye.MONO ? 1 : 2, n.mode_ext = Ae.MPG_MD_MS_LR, e.mode == ye.MONO && (e.force_ms = !1), e.VBR == Me.vbr_off && 128 != e.VBR_mean_bitrate_kbps && 0 == e.brate && (e.brate = e.VBR_mean_bitrate_kbps), e.VBR == Me.vbr_off || e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt || (e.free_format = !1), e.VBR == Me.vbr_off && 0 == e.brate && me(), e.VBR == Me.vbr_off && 0 < e.compression_ratio && me(), 0 != e.out_samplerate && (e.out_samplerate < 16e3 ? (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 64)) : e.out_samplerate < 32e3 ? (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 160)) : (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 32), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 320))), 0 == e.lowpassfreq) {
- var s = 16e3;
+ this.mask_adjust = 0, this.mask_adjust_short = 0, this.bo_l_weight = Be(Pe.SBMAX_l), this.bo_s_weight = Be(Pe.SBMAX_s);
+ }()), null == n.rgdata && (n.rgdata = new function () {}()), n.channels_in = e.num_channels, 1 == n.channels_in && (e.mode = Ee.MONO), n.channels_out = e.mode == Ee.MONO ? 1 : 2, n.mode_ext = Pe.MPG_MD_MS_LR, e.mode == Ee.MONO && (e.force_ms = !1), e.VBR == xe.vbr_off && 128 != e.VBR_mean_bitrate_kbps && 0 == e.brate && (e.brate = e.VBR_mean_bitrate_kbps), e.VBR == xe.vbr_off || e.VBR == xe.vbr_mtrh || e.VBR == xe.vbr_mt || (e.free_format = !1), e.VBR == xe.vbr_off && 0 == e.brate && q.EQ(e.compression_ratio, 0) && (e.compression_ratio = 11.025), e.VBR == xe.vbr_off && 0 < e.compression_ratio && (0 == e.out_samplerate && (e.out_samplerate = map2MP3Frequency(int(.97 * e.in_samplerate))), e.brate = 0 | 16 * e.out_samplerate * n.channels_out / (1e3 * e.compression_ratio), n.samplerate_index = P(e.out_samplerate, e), e.free_format || (e.brate = L(e.brate, e.version, e.out_samplerate))), 0 != e.out_samplerate && (e.out_samplerate < 16e3 ? (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 64)) : e.out_samplerate < 32e3 ? (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 160)) : (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 32), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 320))), 0 == e.lowpassfreq) {
+ var r = 16e3;
switch (e.VBR) {
- case Me.vbr_off:
- var r = new d();
- g(r, e.brate), s = r.lowerlimit;
+ case xe.vbr_off:
+ H(i = new T(), e.brate), r = i.lowerlimit;
break;
- case Me.vbr_abr:
- var r = new d();
- g(r, e.VBR_mean_bitrate_kbps), s = r.lowerlimit;
+ case xe.vbr_abr:
+ var i;
+ H(i = new T(), e.VBR_mean_bitrate_kbps), r = i.lowerlimit;
+ break;
+ case xe.vbr_rh:
+ var o = [19500, 19e3, 18600, 18e3, 17500, 16e3, 15600, 14900, 12500, 1e4, 3950];
+ if (0 <= e.VBR_q && e.VBR_q <= 9) {
+ var _ = o[e.VBR_q],
+ l = o[e.VBR_q + 1],
+ f = e.VBR_q_frac;
+ r = linear_int(_, l, f);
+ } else r = 19500;
break;
- case Me.vbr_rh:
- me();
default:
- me();
+ o = [19500, 19e3, 18500, 18e3, 17500, 16500, 15500, 14500, 12500, 9500, 3950];
+ if (0 <= e.VBR_q && e.VBR_q <= 9) {
+ _ = o[e.VBR_q], l = o[e.VBR_q + 1], f = e.VBR_q_frac;
+ r = linear_int(_, l, f);
+ } else r = 19500;
}
- e.mode != ye.MONO || e.VBR != Me.vbr_off && e.VBR != Me.vbr_abr || (s *= 1.5), e.lowpassfreq = 0 | s;
+ e.mode != Ee.MONO || e.VBR != xe.vbr_off && e.VBR != xe.vbr_abr || (r *= 1.5), e.lowpassfreq = 0 | r;
}
- switch (0 == e.out_samplerate && me(), e.lowpassfreq = Math.min(20500, e.lowpassfreq), e.lowpassfreq = Math.min(e.out_samplerate / 2, e.lowpassfreq), e.VBR == Me.vbr_off && (e.compression_ratio = 16 * e.out_samplerate * n.channels_out / (1e3 * e.brate)), e.VBR == Me.vbr_abr && me(), e.bWriteVbrTag || (e.findReplayGain = !1, e.decode_on_the_fly = !1, n.findPeakSample = !1), n.findReplayGain = e.findReplayGain, n.decode_on_the_fly = e.decode_on_the_fly, n.decode_on_the_fly && (n.findPeakSample = !0), n.findReplayGain && me(), n.decode_on_the_fly && !e.decode_only && me(), n.mode_gr = e.out_samplerate <= 24e3 ? 1 : 2, e.framesize = 576 * n.mode_gr, e.encoder_delay = Ae.ENCDELAY, n.resample_ratio = e.in_samplerate / e.out_samplerate, e.VBR) {
- case Me.vbr_mt:
- case Me.vbr_rh:
- case Me.vbr_mtrh:
+ if (0 == e.out_samplerate && (2 * e.lowpassfreq > e.in_samplerate && (e.lowpassfreq = e.in_samplerate / 2), e.out_samplerate = (t = 0 | e.lowpassfreq, a = e.in_samplerate, s = 44100, 48e3 <= a ? s = 48e3 : 44100 <= a ? s = 44100 : 32e3 <= a ? s = 32e3 : 24e3 <= a ? s = 24e3 : 22050 <= a ? s = 22050 : 16e3 <= a ? s = 16e3 : 12e3 <= a ? s = 12e3 : 11025 <= a ? s = 11025 : 8e3 <= a && (s = 8e3), -1 == t ? s : (t <= 15960 && (s = 44100), t <= 15250 && (s = 32e3), t <= 11220 && (s = 24e3), t <= 9970 && (s = 22050), t <= 7230 && (s = 16e3), t <= 5420 && (s = 12e3), t <= 4510 && (s = 11025), t <= 3970 && (s = 8e3), a < s ? 44100 < a ? 48e3 : 32e3 < a ? 44100 : 24e3 < a ? 32e3 : 22050 < a ? 24e3 : 16e3 < a ? 22050 : 12e3 < a ? 16e3 : 11025 < a ? 12e3 : 8e3 < a ? 11025 : 8e3 : s))), e.lowpassfreq = Math.min(20500, e.lowpassfreq), e.lowpassfreq = Math.min(e.out_samplerate / 2, e.lowpassfreq), e.VBR == xe.vbr_off && (e.compression_ratio = 16 * e.out_samplerate * n.channels_out / (1e3 * e.brate)), e.VBR == xe.vbr_abr && (e.compression_ratio = 16 * e.out_samplerate * n.channels_out / (1e3 * e.VBR_mean_bitrate_kbps)), e.bWriteVbrTag || (e.findReplayGain = !1, e.decode_on_the_fly = !1, n.findPeakSample = !1), n.findReplayGain = e.findReplayGain, n.decode_on_the_fly = e.decode_on_the_fly, n.decode_on_the_fly && (n.findPeakSample = !0), n.findReplayGain && w.InitGainAnalysis(n.rgdata, e.out_samplerate) == X.INIT_GAIN_ANALYSIS_ERROR) return e.internal_flags = null, -6;
+ switch (n.decode_on_the_fly && !e.decode_only && (null != n.hip && k.hip_decode_exit(n.hip), n.hip = k.hip_decode_init()), n.mode_gr = e.out_samplerate <= 24e3 ? 1 : 2, e.framesize = 576 * n.mode_gr, e.encoder_delay = Pe.ENCDELAY, n.resample_ratio = e.in_samplerate / e.out_samplerate, e.VBR) {
+ case xe.vbr_mt:
+ case xe.vbr_rh:
+ case xe.vbr_mtrh:
e.compression_ratio = [5.7, 6.5, 7.3, 8.2, 10, 11.9, 13, 14, 15, 16.5][e.VBR_q];
break;
- case Me.vbr_abr:
+ case xe.vbr_abr:
e.compression_ratio = 16 * e.out_samplerate * n.channels_out / (1e3 * e.VBR_mean_bitrate_kbps);
break;
default:
e.compression_ratio = 16 * e.out_samplerate * n.channels_out / (1e3 * e.brate);
}
- e.mode == ye.NOT_SET && (e.mode = ye.JOINT_STEREO), 0 < e.highpassfreq ? me() : (n.highpass1 = 0, n.highpass2 = 0), 0 < e.lowpassfreq ? (n.lowpass2 = 2 * e.lowpassfreq, 0 <= e.lowpasswidth ? me() : n.lowpass1 = 2 * e.lowpassfreq, n.lowpass1 /= e.out_samplerate, n.lowpass2 /= e.out_samplerate) : me(), function (e) {
- var t,
- a = e.internal_flags,
- n = 32;
- if (0 < a.lowpass1) {
- for (var s = 999, r = 0; r <= 31; r++) {
- var i = r / 31;
- i >= a.lowpass2 && (n = Math.min(n, r)), a.lowpass1 < i && i < a.lowpass2 && (s = Math.min(s, r));
- }
- a.lowpass1 = 999 == s ? (n - .75) / 31 : (s - .75) / 31, a.lowpass2 = n / 31;
+ if (e.mode == Ee.NOT_SET && (e.mode = Ee.JOINT_STEREO), 0 < e.highpassfreq ? (n.highpass1 = 2 * e.highpassfreq, 0 <= e.highpasswidth ? n.highpass2 = 2 * (e.highpassfreq + e.highpasswidth) : n.highpass2 = 2 * e.highpassfreq, n.highpass1 /= e.out_samplerate, n.highpass2 /= e.out_samplerate) : (n.highpass1 = 0, n.highpass2 = 0), 0 < e.lowpassfreq ? (n.lowpass2 = 2 * e.lowpassfreq, 0 <= e.lowpasswidth ? (n.lowpass1 = 2 * (e.lowpassfreq - e.lowpasswidth), n.lowpass1 < 0 && (n.lowpass1 = 0)) : n.lowpass1 = 2 * e.lowpassfreq, n.lowpass1 /= e.out_samplerate, n.lowpass2 /= e.out_samplerate) : (n.lowpass1 = 0, n.lowpass2 = 0), function (e) {
+ var t = e.internal_flags,
+ a = 32,
+ s = -1;
+ if (0 < t.lowpass1) {
+ for (var n = 999, r = 0; r <= 31; r++) (l = r / 31) >= t.lowpass2 && (a = Math.min(a, r)), t.lowpass1 < l && l < t.lowpass2 && (n = Math.min(n, r));
+ t.lowpass1 = 999 == n ? (a - .75) / 31 : (n - .75) / 31, t.lowpass2 = a / 31;
}
- 0 < a.highpass2 && me(), 0 < a.highpass2 && me();
- for (var r = 0; r < 32; r++) {
+ if (0 < t.highpass2 && t.highpass2 < .75 / 31 * .9 && (t.highpass1 = 0, t.highpass2 = 0, $.err.println("Warning: highpass filter disabled. highpass frequency too small\n")), 0 < t.highpass2) {
+ var i = -1;
+ for (r = 0; r <= 31; r++) (l = r / 31) <= t.highpass1 && (s = Math.max(s, r)), t.highpass1 < l && l < t.highpass2 && (i = Math.max(i, r));
+ t.highpass1 = s / 31, t.highpass2 = -1 == i ? (s + .75) / 31 : (i + .75) / 31;
+ }
+ for (r = 0; r < 32; r++) {
var o,
_,
- i = r / 31;
- a.highpass2 > a.highpass1 ? me() : o = 1, _ = a.lowpass2 > a.lowpass1 ? 1 < (t = (i - a.lowpass1) / (a.lowpass2 - a.lowpass1 + 1e-20)) ? 0 : t <= 0 ? 1 : Math.cos(Math.PI / 2 * t) : 1, a.amp_filter[r] = o * _;
+ l = r / 31;
+ o = t.highpass2 > t.highpass1 ? E((t.highpass2 - l) / (t.highpass2 - t.highpass1 + 1e-20)) : 1, _ = t.lowpass2 > t.lowpass1 ? E((l - t.lowpass1) / (t.lowpass2 - t.lowpass1 + 1e-20)) : 1, t.amp_filter[r] = o * _;
}
- }(e), n.samplerate_index = function (e, t) {
- switch (e) {
- case 44100:
- return t.version = 1, 0;
- case 48e3:
- return t.version = 1;
- case 32e3:
- return t.version = 1, 2;
- case 22050:
- return t.version = 0;
- case 24e3:
- return t.version = 0, 1;
- case 16e3:
- return t.version = 0, 2;
- case 11025:
- return t.version = 0;
- case 12e3:
- return t.version = 0, 1;
- case 8e3:
- return t.version = 0, 2;
- default:
- return t.version = 0, -1;
- }
- }(e.out_samplerate, e), n.samplerate_index < 0 && me(), e.VBR == Me.vbr_off ? e.free_format ? n.bitrate_index = 0 : (e.brate = function (e, t, a) {
- a < 16e3 && (t = 2);
- for (var n = k.bitrate_table[t][1], s = 2; s <= 14; s++) 0 < k.bitrate_table[t][s] && Math.abs(k.bitrate_table[t][s] - e) < Math.abs(n - e) && (n = k.bitrate_table[t][s]);
- return n;
- }(e.brate, e.version, e.out_samplerate), n.bitrate_index = function (e, t, a) {
- a < 16e3 && (t = 2);
- for (var n = 0; n <= 14; n++) if (0 < k.bitrate_table[t][n] && k.bitrate_table[t][n] == e) return n;
- return -1;
- }(e.brate, e.version, e.out_samplerate), n.bitrate_index <= 0 && me()) : n.bitrate_index = 1, e.analysis && (e.bWriteVbrTag = !1), null != n.pinfo && (e.bWriteVbrTag = !1), E.init_bit_stream_w(n);
- for (var i, o = n.samplerate_index + 3 * e.version + 6 * (e.out_samplerate < 16e3 ? 1 : 0), _ = 0; _ < Ae.SBMAX_l + 1; _++) n.scalefac_band.l[_] = h.sfBandIndex[o].l[_];
- for (var _ = 0; _ < Ae.PSFB21 + 1; _++) {
- var l = (n.scalefac_band.l[22] - n.scalefac_band.l[21]) / Ae.PSFB21,
- f = n.scalefac_band.l[21] + _ * l;
- n.scalefac_band.psfb21[_] = f;
+ }(e), n.samplerate_index = P(e.out_samplerate, e), n.samplerate_index < 0) return e.internal_flags = null, -1;
+ if (e.VBR == xe.vbr_off) {
+ if (e.free_format) n.bitrate_index = 0;else if (e.brate = L(e.brate, e.version, e.out_samplerate), n.bitrate_index = I(e.brate, e.version, e.out_samplerate), n.bitrate_index <= 0) return e.internal_flags = null, -1;
+ } else n.bitrate_index = 1;
+ e.analysis && (e.bWriteVbrTag = !1), null != n.pinfo && (e.bWriteVbrTag = !1), R.init_bit_stream_w(n);
+ for (var c, h, u, m = n.samplerate_index + 3 * e.version + 6 * (e.out_samplerate < 16e3 ? 1 : 0), p = 0; p < Pe.SBMAX_l + 1; p++) n.scalefac_band.l[p] = S.sfBandIndex[m].l[p];
+ for (p = 0; p < Pe.PSFB21 + 1; p++) {
+ var b = (n.scalefac_band.l[22] - n.scalefac_band.l[21]) / Pe.PSFB21,
+ v = n.scalefac_band.l[21] + p * b;
+ n.scalefac_band.psfb21[p] = v;
}
- n.scalefac_band.psfb21[Ae.PSFB21] = 576;
- for (var _ = 0; _ < Ae.SBMAX_s + 1; _++) n.scalefac_band.s[_] = h.sfBandIndex[o].s[_];
- for (var _ = 0; _ < Ae.PSFB12 + 1; _++) {
- var l = (n.scalefac_band.s[13] - n.scalefac_band.s[12]) / Ae.PSFB12,
- f = n.scalefac_band.s[12] + _ * l;
- n.scalefac_band.psfb12[_] = f;
+ n.scalefac_band.psfb21[Pe.PSFB21] = 576;
+ for (p = 0; p < Pe.SBMAX_s + 1; p++) n.scalefac_band.s[p] = S.sfBandIndex[m].s[p];
+ for (p = 0; p < Pe.PSFB12 + 1; p++) {
+ b = (n.scalefac_band.s[13] - n.scalefac_band.s[12]) / Pe.PSFB12, v = n.scalefac_band.s[12] + p * b;
+ n.scalefac_band.psfb12[p] = v;
}
- for (n.scalefac_band.psfb12[Ae.PSFB12] = 192, 1 == e.version ? n.sideinfo_len = 1 == n.channels_out ? 21 : 36 : n.sideinfo_len = 1 == n.channels_out ? 13 : 21, e.error_protection && (n.sideinfo_len += 2), a = void 0, a = (t = e).internal_flags, t.frameNum = 0, t.write_id3tag_automatic && m.id3tag_write_v2(t), a.bitrate_stereoMode_Hist = w([16, 5]), a.bitrate_blockType_Hist = w([16, 6]), a.PeakSample = 0, t.bWriteVbrTag && p.InitVbrTag(t), n.Class_ID = I, i = 0; i < 19; i++) n.nsPsy.pefirbuf[i] = 700 * n.mode_gr * n.channels_out;
+ for (n.scalefac_band.psfb12[Pe.PSFB12] = 192, 1 == e.version ? n.sideinfo_len = 1 == n.channels_out ? 21 : 36 : n.sideinfo_len = 1 == n.channels_out ? 13 : 21, e.error_protection && (n.sideinfo_len += 2), h = (c = e).internal_flags, c.frameNum = 0, c.write_id3tag_automatic && B.id3tag_write_v2(c), h.bitrate_stereoMode_Hist = Y([16, 5]), h.bitrate_blockType_Hist = Y([16, 6]), h.PeakSample = 0, c.bWriteVbrTag && A.InitVbrTag(c), n.Class_ID = x, u = 0; u < 19; u++) n.nsPsy.pefirbuf[u] = 700 * n.mode_gr * n.channels_out;
switch (-1 == e.ATHtype && (e.ATHtype = 4), e.VBR) {
- case Me.vbr_mt:
- e.VBR = Me.vbr_mtrh;
- case Me.vbr_mtrh:
- null == e.useTemporal && (e.useTemporal = !1), u.apply_preset(e, 500 - 10 * e.VBR_q, 0), e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), e.quality < 5 && (e.quality = 0), 5 < e.quality && (e.quality = 5), n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, e.experimentalY ? n.sfb21_extra = !1 : n.sfb21_extra = 44e3 < e.out_samplerate, n.iteration_loop = new VBRNewIterationLoop(b);
+ case xe.vbr_mt:
+ e.VBR = xe.vbr_mtrh;
+ case xe.vbr_mtrh:
+ null == e.useTemporal && (e.useTemporal = !1), g.apply_preset(e, 500 - 10 * e.VBR_q, 0), e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), e.quality < 5 && (e.quality = 0), 5 < e.quality && (e.quality = 5), n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, e.experimentalY ? n.sfb21_extra = !1 : n.sfb21_extra = 44e3 < e.out_samplerate, n.iteration_loop = new VBRNewIterationLoop(M);
break;
- case Me.vbr_rh:
- u.apply_preset(e, 500 - 10 * e.VBR_q, 0), n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, e.experimentalY ? n.sfb21_extra = !1 : n.sfb21_extra = 44e3 < e.out_samplerate, 6 < e.quality && (e.quality = 6), e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), n.iteration_loop = new VBROldIterationLoop(b);
+ case xe.vbr_rh:
+ g.apply_preset(e, 500 - 10 * e.VBR_q, 0), n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, e.experimentalY ? n.sfb21_extra = !1 : n.sfb21_extra = 44e3 < e.out_samplerate, 6 < e.quality && (e.quality = 6), e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), n.iteration_loop = new VBROldIterationLoop(M);
break;
default:
- var c;
- n.sfb21_extra = !1, e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), (c = e.VBR) == Me.vbr_off && (e.VBR_mean_bitrate_kbps = e.brate), u.apply_preset(e, e.VBR_mean_bitrate_kbps, 0), e.VBR = c, n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, c == Me.vbr_off ? n.iteration_loop = new function (e) {
+ var d;
+ n.sfb21_extra = !1, e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), (d = e.VBR) == xe.vbr_off && (e.VBR_mean_bitrate_kbps = e.brate), g.apply_preset(e, e.VBR_mean_bitrate_kbps, 0), e.VBR = d, n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, n.iteration_loop = d == xe.vbr_off ? new function (e) {
var t = e;
- this.quantize = t, this.iteration_loop = function (e, t, a, n) {
- var s = e.internal_flags,
- r = de(F.SFBMAX),
- i = de(576),
- o = ve(2),
- _ = 0,
- l = s.l3_side,
- f = new R(_);
- this.quantize.rv.ResvFrameBegin(e, f), _ = f.bits;
- for (var c = 0; c < s.mode_gr; c++) {
- this.quantize.qupvt.on_pe(e, t, o, _, c, c), s.mode_ext == Ae.MPG_MD_MS_LR && me();
- for (var u = 0; u < s.channels_out; u++) {
- var h,
- b,
- p = l.tt[c][u];
- p.block_type != Ae.SHORT_TYPE ? (h = 0, b = s.PSY.mask_adjust - h) : (h = 0, b = s.PSY.mask_adjust_short - h), s.masking_lower = Math.pow(10, .1 * b), this.quantize.init_outer_loop(s, p), this.quantize.init_xrpow(s, p, i) && (this.quantize.qupvt.calc_xmin(e, n[c][u], p, r), this.quantize.outer_loop(e, p, r, i, u, o[u])), this.quantize.iteration_finish_one(s, c, u);
+ this.quantize = t, this.iteration_loop = function (e, t, a, s) {
+ var n,
+ r = e.internal_flags,
+ i = Be(z.SFBMAX),
+ o = Be(576),
+ _ = Ae(2),
+ l = 0,
+ f = r.l3_side,
+ c = new j(l);
+ this.quantize.rv.ResvFrameBegin(e, c), l = c.bits;
+ for (var h = 0; h < r.mode_gr; h++) {
+ n = this.quantize.qupvt.on_pe(e, t, _, l, h, h), r.mode_ext == Pe.MPG_MD_MS_LR && (this.quantize.ms_convert(r.l3_side, h), this.quantize.qupvt.reduce_side(_, a[h], l, n));
+ for (var u = 0; u < r.channels_out; u++) {
+ var m,
+ p,
+ b = f.tt[h][u];
+ b.block_type != Pe.SHORT_TYPE ? (m = 0, p = r.PSY.mask_adjust - m) : (m = 0, p = r.PSY.mask_adjust_short - m), r.masking_lower = Math.pow(10, .1 * p), this.quantize.init_outer_loop(r, b), this.quantize.init_xrpow(r, b, o) && (this.quantize.qupvt.calc_xmin(e, s[h][u], b, i), this.quantize.outer_loop(e, b, i, o, u, _[u])), this.quantize.iteration_finish_one(r, h, u);
}
}
- this.quantize.rv.ResvFrameEnd(s, _);
+ this.quantize.rv.ResvFrameEnd(r, l);
};
- }(b) : me();
+ }(M) : new ABRIterationLoop(M);
}
- return e.VBR != Me.vbr_off && me(), e.tune && me(), function (e) {
+ if (e.VBR != xe.vbr_off) {
+ if (n.VBR_min_bitrate = 1, n.VBR_max_bitrate = 14, e.out_samplerate < 16e3 && (n.VBR_max_bitrate = 8), 0 != e.VBR_min_bitrate_kbps && (e.VBR_min_bitrate_kbps = L(e.VBR_min_bitrate_kbps, e.version, e.out_samplerate), n.VBR_min_bitrate = I(e.VBR_min_bitrate_kbps, e.version, e.out_samplerate), n.VBR_min_bitrate < 0)) return -1;
+ if (0 != e.VBR_max_bitrate_kbps && (e.VBR_max_bitrate_kbps = L(e.VBR_max_bitrate_kbps, e.version, e.out_samplerate), n.VBR_max_bitrate = I(e.VBR_max_bitrate_kbps, e.version, e.out_samplerate), n.VBR_max_bitrate < 0)) return -1;
+ e.VBR_min_bitrate_kbps = F.bitrate_table[e.version][n.VBR_min_bitrate], e.VBR_max_bitrate_kbps = F.bitrate_table[e.version][n.VBR_max_bitrate], e.VBR_mean_bitrate_kbps = Math.min(F.bitrate_table[e.version][n.VBR_max_bitrate], e.VBR_mean_bitrate_kbps), e.VBR_mean_bitrate_kbps = Math.max(F.bitrate_table[e.version][n.VBR_min_bitrate], e.VBR_mean_bitrate_kbps);
+ }
+ return e.tune && (n.PSY.mask_adjust += e.tune_value_a, n.PSY.mask_adjust_short += e.tune_value_a), function (e) {
var t = e.internal_flags;
switch (e.quality) {
default:
@@ -15292,229 +15587,252 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
case 0:
t.psymodel = 1, 0 == t.noise_shaping && (t.noise_shaping = 1), 0 == t.substep_shaping && (t.substep_shaping = 2), t.noise_shaping_amp = 2, -(t.noise_shaping_stop = 1) == t.subblock_gain && (t.subblock_gain = 1), t.use_best_huffman = 1, t.full_outer_loop = 0;
}
- }(e), e.athaa_type < 0 ? n.ATH.useAdjust = 3 : n.ATH.useAdjust = e.athaa_type, n.ATH.aaSensitivityP = Math.pow(10, e.athaa_sensitivity / -10), null == e.short_blocks && (e.short_blocks = Se.short_block_allowed), e.short_blocks != Se.short_block_allowed || e.mode != ye.JOINT_STEREO && e.mode != ye.STEREO || (e.short_blocks = Se.short_block_coupled), e.quant_comp < 0 && (e.quant_comp = 1), e.quant_comp_short < 0 && (e.quant_comp_short = 0), e.msfix < 0 && (e.msfix = 0), e.exp_nspsytune = 1 | e.exp_nspsytune, e.internal_flags.nsPsy.attackthre < 0 && (e.internal_flags.nsPsy.attackthre = X.NSATTACKTHRE), e.internal_flags.nsPsy.attackthre_s < 0 && (e.internal_flags.nsPsy.attackthre_s = X.NSATTACKTHRE_S), e.scale < 0 && (e.scale = 1), e.ATHtype < 0 && (e.ATHtype = 4), e.ATHcurve < 0 && (e.ATHcurve = 4), e.athaa_loudapprox < 0 && (e.athaa_loudapprox = 2), e.interChRatio < 0 && (e.interChRatio = 0), null == e.useTemporal && (e.useTemporal = !0), n.slot_lag = n.frac_SpF = 0, e.VBR == Me.vbr_off && (n.slot_lag = n.frac_SpF = 72e3 * (e.version + 1) * e.brate % e.out_samplerate | 0), h.iteration_init(e), v.psymodel_init(e), 0;
- }, this.lame_encode_flush = function (e, t, a, n) {
- var s,
+ }(e), e.athaa_type < 0 ? n.ATH.useAdjust = 3 : n.ATH.useAdjust = e.athaa_type, n.ATH.aaSensitivityP = Math.pow(10, e.athaa_sensitivity / -10), null == e.short_blocks && (e.short_blocks = Te.short_block_allowed), e.short_blocks != Te.short_block_allowed || e.mode != Ee.JOINT_STEREO && e.mode != Ee.STEREO || (e.short_blocks = Te.short_block_coupled), e.quant_comp < 0 && (e.quant_comp = 1), e.quant_comp_short < 0 && (e.quant_comp_short = 0), e.msfix < 0 && (e.msfix = 0), e.exp_nspsytune = 1 | e.exp_nspsytune, e.internal_flags.nsPsy.attackthre < 0 && (e.internal_flags.nsPsy.attackthre = G.NSATTACKTHRE), e.internal_flags.nsPsy.attackthre_s < 0 && (e.internal_flags.nsPsy.attackthre_s = G.NSATTACKTHRE_S), e.scale < 0 && (e.scale = 1), e.ATHtype < 0 && (e.ATHtype = 4), e.ATHcurve < 0 && (e.ATHcurve = 4), e.athaa_loudapprox < 0 && (e.athaa_loudapprox = 2), e.interChRatio < 0 && (e.interChRatio = 0), null == e.useTemporal && (e.useTemporal = !0), n.slot_lag = n.frac_SpF = 0, e.VBR == xe.vbr_off && (n.slot_lag = n.frac_SpF = 72e3 * (e.version + 1) * e.brate % e.out_samplerate | 0), S.iteration_init(e), y.psymodel_init(e), 0;
+ }, this.lame_encode_flush = function (e, t, a, s) {
+ var n,
r,
i,
o,
_ = e.internal_flags,
- l = M([2, 1152]),
+ l = p([2, 1152]),
f = 0,
- c = _.mf_samples_to_encode - Ae.POSTDELAY,
- u = L(e);
+ c = _.mf_samples_to_encode - Pe.POSTDELAY,
+ h = C(e);
if (_.mf_samples_to_encode < 1) return 0;
- for (s = 0, e.in_samplerate != e.out_samplerate && me(), (i = e.framesize - c % e.framesize) < 576 && (i += e.framesize), e.encoder_padding = i, o = (c + i) / e.framesize; 0 < o && 0 <= f;) {
- var h = u - _.mf_size,
- b = e.frameNum;
- h *= e.in_samplerate, 1152 < (h /= e.out_samplerate) && (h = 1152), h < 1 && (h = 1), r = n - s, 0 == n && (r = 0), f = this.lame_encode_buffer(e, l[0], l[1], h, t, a, r), a += f, s += f, o -= b != e.frameNum ? 1 : 0;
+ for (n = 0, e.in_samplerate != e.out_samplerate && (c += 16 * e.out_samplerate / e.in_samplerate), (i = e.framesize - c % e.framesize) < 576 && (i += e.framesize), o = (c + (e.encoder_padding = i)) / e.framesize; 0 < o && 0 <= f;) {
+ var u = h - _.mf_size,
+ m = e.frameNum;
+ u *= e.in_samplerate, 1152 < (u /= e.out_samplerate) && (u = 1152), u < 1 && (u = 1), r = s - n, 0 == s && (r = 0), a += f = this.lame_encode_buffer(e, l[0], l[1], u, t, a, r), n += f, o -= m != e.frameNum ? 1 : 0;
}
- return _.mf_samples_to_encode = 0, f < 0 ? f : (r = n - s, 0 == n && (r = 0), E.flush_bitstream(e), (f = E.copy_buffer(_, t, a, r, 1)) < 0 ? f : (a += f, r = n - (s += f), 0 == n && (r = 0), e.write_id3tag_automatic && me(), s));
- }, this.lame_encode_buffer = function (e, t, a, n, s, r, i) {
+ if (f < (_.mf_samples_to_encode = 0)) return f;
+ if (r = s - n, 0 == s && (r = 0), R.flush_bitstream(e), (f = R.copy_buffer(_, t, a, r, 1)) < 0) return f;
+ if (a += f, r = s - (n += f), 0 == s && (r = 0), e.write_id3tag_automatic) {
+ if (B.id3tag_write_v1(e), (f = R.copy_buffer(_, t, a, r, 0)) < 0) return f;
+ n += f;
+ }
+ return n;
+ }, this.lame_encode_buffer = function (e, t, a, s, n, r, i) {
var o,
_,
l = e.internal_flags,
f = [null, null];
- if (l.Class_ID != I) return -3;
- if (0 == n) return 0;
- _ = n, (null == (o = l).in_buffer_0 || o.in_buffer_nsamples < _) && (o.in_buffer_0 = de(_), o.in_buffer_1 = de(_), o.in_buffer_nsamples = _), f[0] = l.in_buffer_0, f[1] = l.in_buffer_1;
- for (var c = 0; c < n; c++) f[0][c] = t[c], 1 < l.channels_in && (f[1][c] = a[c]);
- return function (e, t, a, n, s, r, i) {
+ if (l.Class_ID != x) return -3;
+ if (0 == s) return 0;
+ _ = s, (null == (o = l).in_buffer_0 || o.in_buffer_nsamples < _) && (o.in_buffer_0 = Be(_), o.in_buffer_1 = Be(_), o.in_buffer_nsamples = _), f[0] = l.in_buffer_0, f[1] = l.in_buffer_1;
+ for (var c = 0; c < s; c++) f[0][c] = t[c], 1 < l.channels_in && (f[1][c] = a[c]);
+ return function (e, t, a, s, n, r, i) {
var o,
_,
l,
f,
c,
- u = e.internal_flags,
- h = 0,
- b = [null, null],
+ h = e.internal_flags,
+ u = 0,
+ m = [null, null],
p = [null, null];
- if (u.Class_ID != I) return -3;
- if (0 == n) return 0;
- if ((c = E.copy_buffer(u, s, r, i, 0)) < 0) return c;
- if (r += c, h += c, p[0] = t, p[1] = a, N.NEQ(e.scale, 0) && N.NEQ(e.scale, 1)) for (_ = 0; _ < n; ++_) p[0][_] *= e.scale, 2 == u.channels_out && (p[1][_] *= e.scale);
- if (N.NEQ(e.scale_left, 0) && N.NEQ(e.scale_left, 1)) for (_ = 0; _ < n; ++_) p[0][_] *= e.scale_left;
- if (N.NEQ(e.scale_right, 0) && N.NEQ(e.scale_right, 1)) for (_ = 0; _ < n; ++_) p[1][_] *= e.scale_right;
- 2 == e.num_channels && 1 == u.channels_out && me(), f = L(e), b[0] = u.mfbuf[0], b[1] = u.mfbuf[1];
- for (var m, v, d, g, w, S, M, y = 0; 0 < n;) {
- var A = [null, null],
- k = 0,
- R = 0;
- A[0] = p[0], A[1] = p[1];
- var x = new P();
- if (H(e, b, A, y, n, x), k = x.n_in, R = x.n_out, u.findReplayGain && !u.decode_on_the_fly && T.AnalyzeSamples(u.rgdata, b[0], u.mf_size, b[1], u.mf_size, R, u.channels_out) == O.GAIN_ANALYSIS_ERROR) return -6;
- if (n -= k, y += k, u.channels_out, u.mf_size += R, u.mf_samples_to_encode < 1 && me(), u.mf_samples_to_encode += R, u.mf_size >= f) {
- var B = i - h;
- if (0 == i && (B = 0), m = e, v = b[0], d = b[1], g = s, w = r, S = B, M = C.enc.lame_encode_mp3_frame(m, v, d, g, w, S), m.frameNum++, (o = M) < 0) return o;
- for (r += o, h += o, u.mf_size -= e.framesize, u.mf_samples_to_encode -= e.framesize, l = 0; l < u.channels_out; l++) for (_ = 0; _ < u.mf_size; _++) b[l][_] = b[l][_ + e.framesize];
+ if (h.Class_ID != x) return -3;
+ if (0 == s) return 0;
+ if ((c = R.copy_buffer(h, n, r, i, 0)) < 0) return c;
+ if (r += c, u += c, p[0] = t, p[1] = a, q.NEQ(e.scale, 0) && q.NEQ(e.scale, 1)) for (_ = 0; _ < s; ++_) p[0][_] *= e.scale, 2 == h.channels_out && (p[1][_] *= e.scale);
+ if (q.NEQ(e.scale_left, 0) && q.NEQ(e.scale_left, 1)) for (_ = 0; _ < s; ++_) p[0][_] *= e.scale_left;
+ if (q.NEQ(e.scale_right, 0) && q.NEQ(e.scale_right, 1)) for (_ = 0; _ < s; ++_) p[1][_] *= e.scale_right;
+ if (2 == e.num_channels && 1 == h.channels_out) for (_ = 0; _ < s; ++_) p[0][_] = .5 * (p[0][_] + p[1][_]), p[1][_] = 0;
+ f = C(e), m[0] = h.mfbuf[0], m[1] = h.mfbuf[1];
+ var b = 0;
+ for (; 0 < s;) {
+ var v = [null, null],
+ d = 0,
+ g = 0;
+ v[0] = p[0], v[1] = p[1];
+ var S = new O();
+ if (D(e, m, v, b, s, S), d = S.n_in, g = S.n_out, h.findReplayGain && !h.decode_on_the_fly && w.AnalyzeSamples(h.rgdata, m[0], h.mf_size, m[1], h.mf_size, g, h.channels_out) == X.GAIN_ANALYSIS_ERROR) return -6;
+ if (s -= d, b += d, h.channels_out, h.mf_size += g, h.mf_samples_to_encode < 1 && (h.mf_samples_to_encode = Pe.ENCDELAY + Pe.POSTDELAY), h.mf_samples_to_encode += g, h.mf_size >= f) {
+ var M = i - u;
+ if (0 == i && (M = 0), (o = V(e, m[0], m[1], n, r, M)) < 0) return o;
+ for (r += o, u += o, h.mf_size -= e.framesize, h.mf_samples_to_encode -= e.framesize, l = 0; l < h.channels_out; l++) for (_ = 0; _ < h.mf_size; _++) m[l][_] = m[l][_ + e.framesize];
}
}
- return h;
- }(e, f[0], f[1], n, s, r, i);
+ return u;
+ }(e, f[0], f[1], s, n, r, i);
};
}
- F.SFBMAX = 3 * Ae.SBMAX_s, Ae.ENCDELAY = 576, Ae.POSTDELAY = 1152, Ae.FFTOFFSET = 224 + (Ae.MDCTDELAY = 48), Ae.DECDELAY = 528, Ae.SBLIMIT = 32, Ae.CBANDS = 64, Ae.SBPSY_l = 21, Ae.SBPSY_s = 12, Ae.SBMAX_l = 22, Ae.SBMAX_s = 13, Ae.PSFB21 = 6, Ae.PSFB12 = 6, Ae.HBLKSIZE = (Ae.BLKSIZE = 1024) / 2 + 1, Ae.HBLKSIZE_s = (Ae.BLKSIZE_s = 256) / 2 + 1, Ae.NORM_TYPE = 0, Ae.START_TYPE = 1, Ae.SHORT_TYPE = 2, Ae.STOP_TYPE = 3, Ae.MPG_MD_LR_LR = 0, Ae.MPG_MD_LR_I = 1, Ae.MPG_MD_MS_LR = 2, Ae.MPG_MD_MS_I = 3, Ae.fircoef = [-.1039435, -.1892065, 5 * -.0432472, -.155915, 3.898045e-17, .0467745 * 5, .50455, .756825, .187098 * 5], j.MFSIZE = 3456 + Ae.ENCDELAY - Ae.MDCTDELAY, j.MAX_HEADER_BUF = 256, j.MAX_BITS_PER_CHANNEL = 4095, j.MAX_BITS_PER_GRANULE = 7680, j.BPC = 320, F.SFBMAX = 3 * Ae.SBMAX_s, t.Mp3Encoder = function (n, e, t) {
- 1 != n && me("fix cc: only supports mono");
- var s = new Y(),
+ z.SFBMAX = 3 * Pe.SBMAX_s, Pe.ENCDELAY = 576, Pe.POSTDELAY = 1152, Pe.FFTOFFSET = 224 + (Pe.MDCTDELAY = 48), Pe.DECDELAY = 528, Pe.SBLIMIT = 32, Pe.CBANDS = 64, Pe.SBPSY_l = 21, Pe.SBPSY_s = 12, Pe.SBMAX_l = 22, Pe.SBMAX_s = 13, Pe.PSFB21 = 6, Pe.PSFB12 = 6, Pe.HBLKSIZE = (Pe.BLKSIZE = 1024) / 2 + 1, Pe.HBLKSIZE_s = (Pe.BLKSIZE_s = 256) / 2 + 1, Pe.NORM_TYPE = 0, Pe.START_TYPE = 1, Pe.SHORT_TYPE = 2, Pe.STOP_TYPE = 3, Pe.MPG_MD_LR_LR = 0, Pe.MPG_MD_LR_I = 1, Pe.MPG_MD_MS_LR = 2, Pe.MPG_MD_MS_I = 3, Pe.fircoef = [-.1039435, -.1892065, 5 * -.0432472, -.155915, 3.898045e-17, .0467745 * 5, .50455, .756825, .187098 * 5], Z.MFSIZE = 3456 + Pe.ENCDELAY - Pe.MDCTDELAY, Z.MAX_HEADER_BUF = 256, Z.MAX_BITS_PER_CHANNEL = 4095, Z.MAX_BITS_PER_GRANULE = 7680, Z.BPC = 320, z.SFBMAX = 3 * Pe.SBMAX_s, t.Mp3Encoder = function (s, e, t) {
+ 3 != arguments.length && (console.error("WARN: Mp3Encoder(channels, samplerate, kbps) not specified"), s = 1, e = 44100, t = 128);
+ var n = new U(),
a = new function () {
this.setModules = function (e, t) {};
}(),
- r = new O(),
- i = new N(),
+ r = new X(),
+ i = new q(),
o = new function () {
- function e(e, t, a, n, s, r, i, o, _, l, f, c, u, h) {
- this.quant_comp = t, this.quant_comp_s = a, this.safejoint = n, this.nsmsfix = s, this.st_lrm = r, this.st_s = i, this.nsbass = o, this.scale = _, this.masking_adj = l, this.ath_lower = f, this.ath_curve = c, this.interch = u, this.sfscale = h;
+ function e(e, t, a, s, n, r, i, o, _, l, f, c, h, u, m) {
+ this.vbr_q = e, this.quant_comp = t, this.quant_comp_s = a, this.expY = s, this.st_lrm = n, this.st_s = r, this.masking_adj = i, this.masking_adj_short = o, this.ath_lower = _, this.ath_curve = l, this.ath_sensitivity = f, this.interch = c, this.safejoint = h, this.sfb21mod = u, this.msfix = m;
+ }
+ function t(e, t, a, s, n, r, i, o, _, l, f, c, h, u) {
+ this.quant_comp = t, this.quant_comp_s = a, this.safejoint = s, this.nsmsfix = n, this.st_lrm = r, this.st_s = i, this.nsbass = o, this.scale = _, this.masking_adj = l, this.ath_lower = f, this.ath_curve = c, this.interch = h, this.sfscale = u;
}
var i;
- function n(e, t, a) {
- me();
- }
this.setModules = function (e) {
i = e;
};
- var o = [new e(8, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -30, 11, .0012, 1), new e(16, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -25, 11, .001, 1), new e(24, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -20, 11, .001, 1), new e(32, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -15, 11, .001, 1), new e(40, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -10, 11, 9e-4, 1), new e(48, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -10, 11, 9e-4, 1), new e(56, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -6, 11, 8e-4, 1), new e(64, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -2, 11, 8e-4, 1), new e(80, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, 0, 8, 7e-4, 1), new e(96, 9, 9, 0, 2.5, 6.6, 145, 0, .95, 0, 1, 5.5, 6e-4, 1), new e(112, 9, 9, 0, 2.25, 6.6, 145, 0, .95, 0, 2, 4.5, 5e-4, 1), new e(128, 9, 9, 0, 1.95, 6.4, 140, 0, .95, 0, 3, 4, 2e-4, 1), new e(160, 9, 9, 1, 1.79, 6, 135, 0, .95, -2, 5, 3.5, 0, 1), new e(192, 9, 9, 1, 1.49, 5.6, 125, 0, .97, -4, 7, 3, 0, 0), new e(224, 9, 9, 1, 1.25, 5.2, 125, 0, .98, -6, 9, 2, 0, 0), new e(256, 9, 9, 1, .97, 5.2, 125, 0, 1, -8, 10, 1, 0, 0), new e(320, 9, 9, 1, .9, 5.2, 125, 0, 1, -10, 12, 0, 0, 0)];
+ var f = [new e(0, 9, 9, 0, 5.2, 125, -4.2, -6.3, 4.8, 1, 0, 0, 2, 21, .97), new e(1, 9, 9, 0, 5.3, 125, -3.6, -5.6, 4.5, 1.5, 0, 0, 2, 21, 1.35), new e(2, 9, 9, 0, 5.6, 125, -2.2, -3.5, 2.8, 2, 0, 0, 2, 21, 1.49), new e(3, 9, 9, 1, 5.8, 130, -1.8, -2.8, 2.6, 3, -4, 0, 2, 20, 1.64), new e(4, 9, 9, 1, 6, 135, -.7, -1.1, 1.1, 3.5, -8, 0, 2, 0, 1.79), new e(5, 9, 9, 1, 6.4, 140, .5, .4, -7.5, 4, -12, 2e-4, 0, 0, 1.95), new e(6, 9, 9, 1, 6.6, 145, .67, .65, -14.7, 6.5, -19, 4e-4, 0, 0, 2.3), new e(7, 9, 9, 1, 6.6, 145, .8, .75, -19.7, 8, -22, 6e-4, 0, 0, 2.7), new e(8, 9, 9, 1, 6.6, 145, 1.2, 1.15, -27.5, 10, -23, 7e-4, 0, 0, 0), new e(9, 9, 9, 1, 6.6, 145, 1.6, 1.6, -36, 11, -25, 8e-4, 0, 0, 0), new e(10, 9, 9, 1, 6.6, 145, 2, 2, -36, 12, -25, 8e-4, 0, 0, 0)],
+ c = [new e(0, 9, 9, 0, 4.2, 25, -7, -4, 7.5, 1, 0, 0, 2, 26, .97), new e(1, 9, 9, 0, 4.2, 25, -5.6, -3.6, 4.5, 1.5, 0, 0, 2, 21, 1.35), new e(2, 9, 9, 0, 4.2, 25, -4.4, -1.8, 2, 2, 0, 0, 2, 18, 1.49), new e(3, 9, 9, 1, 4.2, 25, -3.4, -1.25, 1.1, 3, -4, 0, 2, 15, 1.64), new e(4, 9, 9, 1, 4.2, 25, -2.2, .1, 0, 3.5, -8, 0, 2, 0, 1.79), new e(5, 9, 9, 1, 4.2, 25, -1, 1.65, -7.7, 4, -12, 2e-4, 0, 0, 1.95), new e(6, 9, 9, 1, 4.2, 25, -0, 2.47, -7.7, 6.5, -19, 4e-4, 0, 0, 2), new e(7, 9, 9, 1, 4.2, 25, .5, 2, -14.5, 8, -22, 6e-4, 0, 0, 2), new e(8, 9, 9, 1, 4.2, 25, 1, 2.4, -22, 10, -23, 7e-4, 0, 0, 2), new e(9, 9, 9, 1, 4.2, 25, 1.5, 2.95, -30, 11, -25, 8e-4, 0, 0, 2), new e(10, 9, 9, 1, 4.2, 25, 2, 2.95, -36, 12, -30, 8e-4, 0, 0, 2)];
function s(e, t, a) {
- var n = t,
- s = i.nearestBitrateFullIndex(t);
- if (e.VBR = Me.vbr_abr, e.VBR_mean_bitrate_kbps = n, e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 320), e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.brate = e.VBR_mean_bitrate_kbps, 320 < e.VBR_mean_bitrate_kbps && (e.disable_reservoir = !0), 0 < o[s].safejoint && (e.exp_nspsytune = 2 | e.exp_nspsytune), 0 < o[s].sfscale && (e.internal_flags.noise_shaping = 2), 0 < Math.abs(o[s].nsbass)) {
- var r = int(4 * o[s].nsbass);
+ var s,
+ n,
+ r = e.VBR == xe.vbr_rh ? f : c,
+ i = e.VBR_q_frac,
+ o = r[t],
+ _ = r[t + 1],
+ l = o;
+ o.st_lrm = o.st_lrm + i * (_.st_lrm - o.st_lrm), o.st_s = o.st_s + i * (_.st_s - o.st_s), o.masking_adj = o.masking_adj + i * (_.masking_adj - o.masking_adj), o.masking_adj_short = o.masking_adj_short + i * (_.masking_adj_short - o.masking_adj_short), o.ath_lower = o.ath_lower + i * (_.ath_lower - o.ath_lower), o.ath_curve = o.ath_curve + i * (_.ath_curve - o.ath_curve), o.ath_sensitivity = o.ath_sensitivity + i * (_.ath_sensitivity - o.ath_sensitivity), o.interch = o.interch + i * (_.interch - o.interch), o.msfix = o.msfix + i * (_.msfix - o.msfix), s = e, (n = l.vbr_q) < 0 && (n = 0), 9 < n && (n = 9), s.VBR_q = n, (s.VBR_q_frac = 0) != a ? e.quant_comp = l.quant_comp : 0 < Math.abs(e.quant_comp - -1) || (e.quant_comp = l.quant_comp), 0 != a ? e.quant_comp_short = l.quant_comp_s : 0 < Math.abs(e.quant_comp_short - -1) || (e.quant_comp_short = l.quant_comp_s), 0 != l.expY && (e.experimentalY = 0 != l.expY), 0 != a ? e.internal_flags.nsPsy.attackthre = l.st_lrm : 0 < Math.abs(e.internal_flags.nsPsy.attackthre - -1) || (e.internal_flags.nsPsy.attackthre = l.st_lrm), 0 != a ? e.internal_flags.nsPsy.attackthre_s = l.st_s : 0 < Math.abs(e.internal_flags.nsPsy.attackthre_s - -1) || (e.internal_flags.nsPsy.attackthre_s = l.st_s), 0 != a ? e.maskingadjust = l.masking_adj : 0 < Math.abs(e.maskingadjust - 0) || (e.maskingadjust = l.masking_adj), 0 != a ? e.maskingadjust_short = l.masking_adj_short : 0 < Math.abs(e.maskingadjust_short - 0) || (e.maskingadjust_short = l.masking_adj_short), 0 != a ? e.ATHlower = -l.ath_lower / 10 : 0 < Math.abs(10 * -e.ATHlower - 0) || (e.ATHlower = -l.ath_lower / 10), 0 != a ? e.ATHcurve = l.ath_curve : 0 < Math.abs(e.ATHcurve - -1) || (e.ATHcurve = l.ath_curve), 0 != a ? e.athaa_sensitivity = l.ath_sensitivity : 0 < Math.abs(e.athaa_sensitivity - -1) || (e.athaa_sensitivity = l.ath_sensitivity), 0 < l.interch && (0 != a ? e.interChRatio = l.interch : 0 < Math.abs(e.interChRatio - -1) || (e.interChRatio = l.interch)), 0 < l.safejoint && (e.exp_nspsytune = e.exp_nspsytune | l.safejoint), 0 < l.sfb21mod && (e.exp_nspsytune = e.exp_nspsytune | l.sfb21mod << 20), 0 != a ? e.msfix = l.msfix : 0 < Math.abs(e.msfix - -1) || (e.msfix = l.msfix), 0 == a && (e.VBR_q = t, e.VBR_q_frac = i);
+ }
+ var o = [new t(8, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -30, 11, .0012, 1), new t(16, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -25, 11, .001, 1), new t(24, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -20, 11, .001, 1), new t(32, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -15, 11, .001, 1), new t(40, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -10, 11, 9e-4, 1), new t(48, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -10, 11, 9e-4, 1), new t(56, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -6, 11, 8e-4, 1), new t(64, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -2, 11, 8e-4, 1), new t(80, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, 0, 8, 7e-4, 1), new t(96, 9, 9, 0, 2.5, 6.6, 145, 0, .95, 0, 1, 5.5, 6e-4, 1), new t(112, 9, 9, 0, 2.25, 6.6, 145, 0, .95, 0, 2, 4.5, 5e-4, 1), new t(128, 9, 9, 0, 1.95, 6.4, 140, 0, .95, 0, 3, 4, 2e-4, 1), new t(160, 9, 9, 1, 1.79, 6, 135, 0, .95, -2, 5, 3.5, 0, 1), new t(192, 9, 9, 1, 1.49, 5.6, 125, 0, .97, -4, 7, 3, 0, 0), new t(224, 9, 9, 1, 1.25, 5.2, 125, 0, .98, -6, 9, 2, 0, 0), new t(256, 9, 9, 1, .97, 5.2, 125, 0, 1, -8, 10, 1, 0, 0), new t(320, 9, 9, 1, .9, 5.2, 125, 0, 1, -10, 12, 0, 0, 0)];
+ function n(e, t, a) {
+ var s = t,
+ n = i.nearestBitrateFullIndex(t);
+ if (e.VBR = xe.vbr_abr, e.VBR_mean_bitrate_kbps = s, e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 320), e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.brate = e.VBR_mean_bitrate_kbps, 320 < e.VBR_mean_bitrate_kbps && (e.disable_reservoir = !0), 0 < o[n].safejoint && (e.exp_nspsytune = 2 | e.exp_nspsytune), 0 < o[n].sfscale && (e.internal_flags.noise_shaping = 2), 0 < Math.abs(o[n].nsbass)) {
+ var r = int(4 * o[n].nsbass);
r < 0 && (r += 64), e.exp_nspsytune = e.exp_nspsytune | r << 2;
}
- return 0 != a ? e.quant_comp = o[s].quant_comp : 0 < Math.abs(e.quant_comp - -1) || (e.quant_comp = o[s].quant_comp), 0 != a ? e.quant_comp_short = o[s].quant_comp_s : 0 < Math.abs(e.quant_comp_short - -1) || (e.quant_comp_short = o[s].quant_comp_s), 0 != a ? e.msfix = o[s].nsmsfix : 0 < Math.abs(e.msfix - -1) || (e.msfix = o[s].nsmsfix), 0 != a ? e.internal_flags.nsPsy.attackthre = o[s].st_lrm : 0 < Math.abs(e.internal_flags.nsPsy.attackthre - -1) || (e.internal_flags.nsPsy.attackthre = o[s].st_lrm), 0 != a ? e.internal_flags.nsPsy.attackthre_s = o[s].st_s : 0 < Math.abs(e.internal_flags.nsPsy.attackthre_s - -1) || (e.internal_flags.nsPsy.attackthre_s = o[s].st_s), 0 != a ? e.scale = o[s].scale : 0 < Math.abs(e.scale - -1) || (e.scale = o[s].scale), 0 != a ? e.maskingadjust = o[s].masking_adj : 0 < Math.abs(e.maskingadjust - 0) || (e.maskingadjust = o[s].masking_adj), 0 < o[s].masking_adj ? 0 != a ? e.maskingadjust_short = .9 * o[s].masking_adj : 0 < Math.abs(e.maskingadjust_short - 0) || (e.maskingadjust_short = .9 * o[s].masking_adj) : 0 != a ? e.maskingadjust_short = 1.1 * o[s].masking_adj : 0 < Math.abs(e.maskingadjust_short - 0) || (e.maskingadjust_short = 1.1 * o[s].masking_adj), 0 != a ? e.ATHlower = -o[s].ath_lower / 10 : 0 < Math.abs(10 * -e.ATHlower - 0) || (e.ATHlower = -o[s].ath_lower / 10), 0 != a ? e.ATHcurve = o[s].ath_curve : 0 < Math.abs(e.ATHcurve - -1) || (e.ATHcurve = o[s].ath_curve), 0 != a ? e.interChRatio = o[s].interch : 0 < Math.abs(e.interChRatio - -1) || (e.interChRatio = o[s].interch), t;
+ return 0 != a ? e.quant_comp = o[n].quant_comp : 0 < Math.abs(e.quant_comp - -1) || (e.quant_comp = o[n].quant_comp), 0 != a ? e.quant_comp_short = o[n].quant_comp_s : 0 < Math.abs(e.quant_comp_short - -1) || (e.quant_comp_short = o[n].quant_comp_s), 0 != a ? e.msfix = o[n].nsmsfix : 0 < Math.abs(e.msfix - -1) || (e.msfix = o[n].nsmsfix), 0 != a ? e.internal_flags.nsPsy.attackthre = o[n].st_lrm : 0 < Math.abs(e.internal_flags.nsPsy.attackthre - -1) || (e.internal_flags.nsPsy.attackthre = o[n].st_lrm), 0 != a ? e.internal_flags.nsPsy.attackthre_s = o[n].st_s : 0 < Math.abs(e.internal_flags.nsPsy.attackthre_s - -1) || (e.internal_flags.nsPsy.attackthre_s = o[n].st_s), 0 != a ? e.scale = o[n].scale : 0 < Math.abs(e.scale - -1) || (e.scale = o[n].scale), 0 != a ? e.maskingadjust = o[n].masking_adj : 0 < Math.abs(e.maskingadjust - 0) || (e.maskingadjust = o[n].masking_adj), 0 < o[n].masking_adj ? 0 != a ? e.maskingadjust_short = .9 * o[n].masking_adj : 0 < Math.abs(e.maskingadjust_short - 0) || (e.maskingadjust_short = .9 * o[n].masking_adj) : 0 != a ? e.maskingadjust_short = 1.1 * o[n].masking_adj : 0 < Math.abs(e.maskingadjust_short - 0) || (e.maskingadjust_short = 1.1 * o[n].masking_adj), 0 != a ? e.ATHlower = -o[n].ath_lower / 10 : 0 < Math.abs(10 * -e.ATHlower - 0) || (e.ATHlower = -o[n].ath_lower / 10), 0 != a ? e.ATHcurve = o[n].ath_curve : 0 < Math.abs(e.ATHcurve - -1) || (e.ATHcurve = o[n].ath_curve), 0 != a ? e.interChRatio = o[n].interch : 0 < Math.abs(e.interChRatio - -1) || (e.interChRatio = o[n].interch), t;
}
this.apply_preset = function (e, t, a) {
switch (t) {
- case Y.R3MIX:
- t = Y.V3, e.VBR = Me.vbr_mtrh;
+ case U.R3MIX:
+ t = U.V3, e.VBR = xe.vbr_mtrh;
break;
- case Y.MEDIUM:
- t = Y.V4, e.VBR = Me.vbr_rh;
+ case U.MEDIUM:
+ t = U.V4, e.VBR = xe.vbr_rh;
break;
- case Y.MEDIUM_FAST:
- t = Y.V4, e.VBR = Me.vbr_mtrh;
+ case U.MEDIUM_FAST:
+ t = U.V4, e.VBR = xe.vbr_mtrh;
break;
- case Y.STANDARD:
- t = Y.V2, e.VBR = Me.vbr_rh;
+ case U.STANDARD:
+ t = U.V2, e.VBR = xe.vbr_rh;
break;
- case Y.STANDARD_FAST:
- t = Y.V2, e.VBR = Me.vbr_mtrh;
+ case U.STANDARD_FAST:
+ t = U.V2, e.VBR = xe.vbr_mtrh;
break;
- case Y.EXTREME:
- t = Y.V0, e.VBR = Me.vbr_rh;
+ case U.EXTREME:
+ t = U.V0, e.VBR = xe.vbr_rh;
break;
- case Y.EXTREME_FAST:
- t = Y.V0, e.VBR = Me.vbr_mtrh;
+ case U.EXTREME_FAST:
+ t = U.V0, e.VBR = xe.vbr_mtrh;
break;
- case Y.INSANE:
- return t = 320, e.preset = t, s(e, t, a), e.VBR = Me.vbr_off, t;
+ case U.INSANE:
+ return t = 320, e.preset = t, n(e, t, a), e.VBR = xe.vbr_off, t;
}
switch (e.preset = t) {
- case Y.V9:
- return n(), t;
- case Y.V8:
- return n(), t;
- case Y.V7:
- return n(), t;
- case Y.V6:
- return n(), t;
- case Y.V5:
- return n(), t;
- case Y.V4:
- return n(), t;
- case Y.V3:
- return n(), t;
- case Y.V2:
- return n(), t;
- case Y.V1:
- return n(), t;
- case Y.V0:
- return n(), t;
+ case U.V9:
+ return s(e, 9, a), t;
+ case U.V8:
+ return s(e, 8, a), t;
+ case U.V7:
+ return s(e, 7, a), t;
+ case U.V6:
+ return s(e, 6, a), t;
+ case U.V5:
+ return s(e, 5, a), t;
+ case U.V4:
+ return s(e, 4, a), t;
+ case U.V3:
+ return s(e, 3, a), t;
+ case U.V2:
+ return s(e, 2, a), t;
+ case U.V1:
+ return s(e, 1, a), t;
+ case U.V0:
+ return s(e, 0, a), t;
}
- return 8 <= t && t <= 320 ? s(e, t, a) : (e.preset = 0, t);
+ return 8 <= t && t <= 320 ? n(e, t, a) : (e.preset = 0, t);
};
}(),
- _ = new T(),
- l = new C(),
- f = new y(),
+ _ = new x(),
+ l = new w(),
+ f = new M(),
c = new function () {
- this.getLameShortVersion = function () {
+ this.getLameVersion = function () {
return "3.98.4";
+ }, this.getLameShortVersion = function () {
+ return "3.98.4";
+ }, this.getLameVeryShortVersion = function () {
+ return "LAME3.98r";
+ }, this.getPsyVersion = function () {
+ return "0.93";
+ }, this.getLameUrl = function () {
+ return "http://www.mp3dev.org/";
+ }, this.getLameOsBitness = function () {
+ return "32bits";
};
}(),
- u = new function () {
- this.setModules = function (e, t) {};
- }(),
h = new function () {
+ this.setModules = function (e, t) {};
+ }(),
+ u = new function () {
var _;
this.setModules = function (e) {
_ = e;
}, this.ResvFrameBegin = function (e, t) {
var a,
- n = e.internal_flags,
- s = n.l3_side,
+ s = e.internal_flags,
+ n = s.l3_side,
r = _.getframebits(e);
- t.bits = (r - 8 * n.sideinfo_len) / n.mode_gr;
- var i = 2048 * n.mode_gr - 8;
- 320 < e.brate ? me() : (a = 11520, e.strict_ISO && me()), n.ResvMax = a - r, n.ResvMax > i && (n.ResvMax = i), (n.ResvMax < 0 || e.disable_reservoir) && (n.ResvMax = 0);
- var o = t.bits * n.mode_gr + Math.min(n.ResvSize, n.ResvMax);
- return a < o && (o = a), s.resvDrain_pre = 0, null != n.pinfo && me(), o;
- }, this.ResvMaxBits = function (e, t, a, n) {
- var s,
+ t.bits = (r - 8 * s.sideinfo_len) / s.mode_gr;
+ var i = 2048 * s.mode_gr - 8;
+ 320 < e.brate ? a = 8 * int(1e3 * e.brate / (e.out_samplerate / 1152) / 8 + .5) : (a = 11520, e.strict_ISO && (a = 8 * int(32e4 / (e.out_samplerate / 1152) / 8 + .5))), s.ResvMax = a - r, s.ResvMax > i && (s.ResvMax = i), (s.ResvMax < 0 || e.disable_reservoir) && (s.ResvMax = 0);
+ var o = t.bits * s.mode_gr + Math.min(s.ResvSize, s.ResvMax);
+ return a < o && (o = a), n.resvDrain_pre = 0, null != s.pinfo && (s.pinfo.mean_bits = t.bits / 2, s.pinfo.resvsize = s.ResvSize), o;
+ }, this.ResvMaxBits = function (e, t, a, s) {
+ var n,
r = e.internal_flags,
i = r.ResvSize,
o = r.ResvMax;
- 0 != n && (i += t), 0 != (1 & r.substep_shaping) && (o *= .9), a.bits = t, 9 * o < 10 * i ? (s = i - 9 * o / 10, a.bits += s, r.substep_shaping |= 128) : (s = 0, r.substep_shaping &= 127, e.disable_reservoir || 0 != (1 & r.substep_shaping) || (a.bits -= .1 * t));
+ 0 != s && (i += t), 0 != (1 & r.substep_shaping) && (o *= .9), a.bits = t, 9 * o < 10 * i ? (n = i - 9 * o / 10, a.bits += n, r.substep_shaping |= 128) : (n = 0, r.substep_shaping &= 127, e.disable_reservoir || 0 != (1 & r.substep_shaping) || (a.bits -= .1 * t));
var _ = i < 6 * r.ResvMax / 10 ? i : 6 * r.ResvMax / 10;
- return (_ -= s) < 0 && (_ = 0), _;
+ return (_ -= n) < 0 && (_ = 0), _;
}, this.ResvAdjust = function (e, t) {
e.ResvSize -= t.part2_3_length + t.part2_length;
}, this.ResvFrameEnd = function (e, t) {
var a,
- n = e.l3_side;
+ s = e.l3_side;
e.ResvSize += t * e.mode_gr;
- var s = 0;
- n.resvDrain_post = 0, (n.resvDrain_pre = 0) != (a = e.ResvSize % 8) && (s += a), 0 < (a = e.ResvSize - s - e.ResvMax) && (s += a);
- var r = Math.min(8 * n.main_data_begin, s) / 8;
- n.resvDrain_pre += 8 * r, s -= 8 * r, e.ResvSize -= 8 * r, n.main_data_begin -= r, n.resvDrain_post += s, e.ResvSize -= s;
+ var n = 0;
+ s.resvDrain_post = 0, (s.resvDrain_pre = 0) != (a = e.ResvSize % 8) && (n += a), 0 < (a = e.ResvSize - n - e.ResvMax) && (n += a);
+ var r = Math.min(8 * s.main_data_begin, n) / 8;
+ s.resvDrain_pre += 8 * r, n -= 8 * r, e.ResvSize -= 8 * r, s.main_data_begin -= r, s.resvDrain_post += n, e.ResvSize -= n;
};
}(),
- b = new A(),
+ m = new k(),
p = new function () {
this.setModules = function (e, t, a) {};
}(),
- m = new function () {}();
- s.setModules(r, i, o, _, l, f, c, u, m), i.setModules(r, m, c, f), u.setModules(i, c), o.setModules(s), l.setModules(i, h, _, b), _.setModules(b, h, s.enc.psy), h.setModules(i), b.setModules(_), f.setModules(s, i, c), a.setModules(p, m), p.setModules(c, u, o);
- var v = s.lame_init();
- v.num_channels = n, v.in_samplerate = e, v.out_samplerate = e, v.brate = t, v.mode = ye.STEREO, v.quality = 3, v.bWriteVbrTag = !1, v.disable_reservoir = !0, v.write_id3tag_automatic = !1, s.lame_init_params(v);
+ b = new function () {}();
+ n.setModules(r, i, o, _, l, f, c, h, b), i.setModules(r, b, c, f), h.setModules(i, c), o.setModules(n), l.setModules(i, u, _, m), _.setModules(m, u, n.enc.psy), u.setModules(i), m.setModules(_), f.setModules(n, i, c), a.setModules(p, b), p.setModules(c, h, o);
+ var v = n.lame_init();
+ v.num_channels = s, v.in_samplerate = e, v.out_samplerate = e, v.brate = t, v.mode = Ee.STEREO, v.quality = 3, v.bWriteVbrTag = !1, v.disable_reservoir = !0, v.write_id3tag_automatic = !1, n.lame_init_params(v);
var d = 1152,
g = 0 | 1.25 * d + 7200,
- w = S(g);
+ S = A(g);
this.encodeBuffer = function (e, t) {
- 1 == n && (t = e), e.length > d && (d = e.length, w = S(g = 0 | 1.25 * d + 7200));
- var a = s.lame_encode_buffer(v, e, t, e.length, w, 0, g);
- return new Int8Array(w.subarray(0, a));
+ 1 == s && (t = e), e.length > d && (d = e.length, S = A(g = 0 | 1.25 * d + 7200));
+ var a = n.lame_encode_buffer(v, e, t, e.length, S, 0, g);
+ return new Int8Array(S.subarray(0, a));
}, this.flush = function () {
- var e = s.lame_encode_flush(v, w, 0, g);
- return new Int8Array(w.subarray(0, e));
+ var e = n.lame_encode_flush(v, S, 0, g);
+ return new Int8Array(S.subarray(0, e));
};
};
}
- t(), e.lamejs = t;
-}(("object" == typeof window && window.document ? window : Object).Recorder);
+ t(), Recorder.lamejs = t;
+}();
});
/*
录音 Recorder扩展,动态波形显示
https://github.com/xiangyuecn/Recorder
*/
-(function (factory) {
- var browser = typeof window == "object" && !!window.document;
- var win = browser ? window : Object; //非浏览器环境,Recorder挂载在Object下面
- var rec = win.Recorder,
- ni = rec.i18n;
- factory(rec, ni, ni.$T, browser);
-})(function (Recorder, i18n, $T, isBrowser) {
-
+(function () {
var WaveView = function (set) {
return new fn(set);
};
@@ -15528,12 +15846,7 @@ https://github.com/xiangyuecn/Recorder
,width:0 //显示宽度
,height:0 //显示高度
- H5环境以上配置二选一
-
- compatibleCanvas: CanvasObject //提供一个兼容H5的canvas对象,需支持getContext("2d"),支持设置width、height,支持drawImage(canvas,...)
- ,width:0 //canvas显示宽度
- ,height:0 //canvas显示高度
- 非H5环境使用以上配置
+ 以上配置二选一
*/
scale: 2 //缩放系数,应为正整数,使用2(3? no!)倍宽高进行绘制,避免移动端绘制模糊
@@ -15562,44 +15875,38 @@ https://github.com/xiangyuecn/Recorder
o[k] = set[k];
}
This.set = set = o;
- var cCanvas = "compatibleCanvas";
- if (set[cCanvas]) {
- var canvas = This.canvas = set[cCanvas];
- } else {
- if (!isBrowser) throw new Error($T.G("NonBrowser-1", [ViewTxt]));
- var elem = set.elem;
- if (elem) {
- if (typeof elem == "string") {
- elem = document.querySelector(elem);
- } else if (elem.length) {
- elem = elem[0];
- }
- }
- if (elem) {
- set.width = elem.offsetWidth;
- set.height = elem.offsetHeight;
- }
- var thisElem = This.elem = document.createElement("div");
- thisElem.style.fontSize = 0;
- thisElem.innerHTML = '';
- var canvas = This.canvas = thisElem.querySelector("canvas");
- if (elem) {
- elem.innerHTML = "";
- elem.appendChild(thisElem);
+ var elem = set.elem;
+ if (elem) {
+ if (typeof elem == "string") {
+ elem = document.querySelector(elem);
+ } else if (elem.length) {
+ elem = elem[0];
}
}
+ if (elem) {
+ set.width = elem.offsetWidth;
+ set.height = elem.offsetHeight;
+ }
var scale = set.scale;
var width = set.width * scale;
var height = set.height * scale;
if (!width || !height) {
- throw new Error($T.G("IllegalArgs-1", [ViewTxt + " width=0 height=0"]));
+ throw new Error(ViewTxt + "无宽高");
}
+ var thisElem = This.elem = document.createElement("div");
+ var lowerCss = ["", "transform-origin:0 0;", "transform:scale(" + 1 / scale + ");"];
+ thisElem.innerHTML = '
';
+ var canvas = This.canvas = thisElem.querySelector("canvas");
+ var ctx = This.ctx = canvas.getContext("2d");
canvas.width = width;
canvas.height = height;
- var ctx = This.ctx = canvas.getContext("2d");
This.linear1 = This.genLinear(ctx, width, set.linear1);
This.linear2 = This.genLinear(ctx, width, set.linear2);
This.linearBg = This.genLinear(ctx, height, set.linearBg, true);
+ if (elem) {
+ elem.innerHTML = "";
+ elem.appendChild(thisElem);
+ }
This._phase = 0;
};
fn.prototype = WaveView.prototype = {
@@ -15618,7 +15925,7 @@ https://github.com/xiangyuecn/Recorder
var scale = set.scale;
var width = set.width * scale;
var maxAmplitude = set.height * scale / 2;
- for (var x = 0; x <= width; x += scale) {
+ for (var x = 0; x < width; x += scale) {
var scaling = (1 + Math.cos(Math.PI + x / width * 2 * Math.PI)) / 2;
var y = scaling * maxAmplitude * amplitude * Math.sin(2 * Math.PI * (x / width) * frequency + phase) + maxAmplitude;
rtv.push(y);
@@ -15690,7 +15997,7 @@ https://github.com/xiangyuecn/Recorder
//绘制包围背景
ctx.beginPath();
- for (var i = 0, x = 0; x <= width; i++, x += scale) {
+ for (var i = 0, x = 0; x < width; i++, x += scale) {
if (x == 0) {
ctx.moveTo(x, path1[i]);
} else {
@@ -15716,7 +16023,7 @@ https://github.com/xiangyuecn/Recorder
var scale = set.scale;
var width = set.width * scale;
ctx.beginPath();
- for (var i = 0, x = 0; x <= width; i++, x += scale) {
+ for (var i = 0, x = 0; x < width; i++, x += scale) {
if (x == 0) {
ctx.moveTo(x, path[i]);
} else {
@@ -15729,11 +16036,11 @@ https://github.com/xiangyuecn/Recorder
}
};
Recorder[ViewTxt] = WaveView;
-});
+})();
/*
录音 Recorder扩展,频率直方图显示
-使用本扩展需要引入src/extensions/lib.fft.js支持,直方图特意优化主要显示0-5khz语音部分(线性),其他高频显示区域较小,不适合用来展示音乐频谱,可通过配置fullFreq来恢复成完整的线性频谱,或自行修改源码修改成倍频程频谱(伯德图、对数频谱);本可视化插件可以移植到其他语言环境,如需定制可联系作者
+使用本扩展需要引入lib.fft.js支持,直方图特意优化主要显示0-5khz语音部分(线性),其他高频显示区域较小,不适合用来展示音乐频谱,可自行修改源码恢复成完整的线性频谱,或修改成倍频程频谱(伯德图、对数频谱);本可视化插件可以移植到其他语言环境,如需定制可联系作者
https://github.com/xiangyuecn/Recorder
@@ -15741,13 +16048,7 @@ https://github.com/xiangyuecn/Recorder
https://www.iteye.com/topic/851459
https://sourceforge.net/projects/jmp123/files/
*/
-(function (factory) {
- var browser = typeof window == "object" && !!window.document;
- var win = browser ? window : Object; //非浏览器环境,Recorder挂载在Object下面
- var rec = win.Recorder,
- ni = rec.i18n;
- factory(rec, ni, ni.$T, browser);
-})(function (Recorder, i18n, $T, isBrowser) {
+(function () {
var FrequencyHistogramView = function (set) {
return new fn(set);
@@ -15762,12 +16063,7 @@ https://sourceforge.net/projects/jmp123/files/
,width:0 //显示宽度
,height:0 //显示高度
- H5环境以上配置二选一
-
- compatibleCanvas: CanvasObject //提供一个兼容H5的canvas对象,需支持getContext("2d"),支持设置width、height,支持drawImage(canvas,...)
- ,width:0 //canvas显示宽度
- ,height:0 //canvas显示高度
- 非H5环境使用以上配置
+ 以上配置二选一
*/
scale: 2 //缩放系数,应为正整数,使用2(3? no!)倍宽高进行绘制,避免移动端绘制模糊
@@ -15813,9 +16109,7 @@ https://sourceforge.net/projects/jmp123/files/
stripeShadowBlur: -1 //峰值小横条阴影基础大小,设为0不显示阴影,-1为柱子的大小,如果柱子数量太多时请勿开启,非常影响性能
,
stripeShadowColor: "" //峰值小横条阴影颜色,留空为柱子的阴影颜色
- ,
- fullFreq: false //是否要绘制所有频率;默认false主要绘制5khz以下的频率,高频部分占比很少,此时不同的采样率对频谱显示几乎没有影响;设为true后不同采样率下显示的频谱是不一样的,因为 最大频率=采样率/2 会有差异
//当发生绘制时会回调此方法,参数为当前绘制的频率数据和采样率,可实现多个直方图同时绘制,只消耗一个input输入和计算时间
,
onDraw: function (frequencyData, sampleRate) {}
@@ -15824,43 +16118,37 @@ https://sourceforge.net/projects/jmp123/files/
o[k] = set[k];
}
This.set = set = o;
- var cCanvas = "compatibleCanvas";
- if (set[cCanvas]) {
- var canvas = This.canvas = set[cCanvas];
- } else {
- if (!isBrowser) throw new Error($T.G("NonBrowser-1", [ViewTxt]));
- var elem = set.elem;
- if (elem) {
- if (typeof elem == "string") {
- elem = document.querySelector(elem);
- } else if (elem.length) {
- elem = elem[0];
- }
- }
- if (elem) {
- set.width = elem.offsetWidth;
- set.height = elem.offsetHeight;
- }
- var thisElem = This.elem = document.createElement("div");
- thisElem.style.fontSize = 0;
- thisElem.innerHTML = '';
- var canvas = This.canvas = thisElem.querySelector("canvas");
- if (elem) {
- elem.innerHTML = "";
- elem.appendChild(thisElem);
+ var elem = set.elem;
+ if (elem) {
+ if (typeof elem == "string") {
+ elem = document.querySelector(elem);
+ } else if (elem.length) {
+ elem = elem[0];
}
}
+ if (elem) {
+ set.width = elem.offsetWidth;
+ set.height = elem.offsetHeight;
+ }
var scale = set.scale;
var width = set.width * scale;
var height = set.height * scale;
if (!width || !height) {
- throw new Error($T.G("IllegalArgs-1", [ViewTxt + " width=0 height=0"]));
+ throw new Error(ViewTxt + "无宽高");
}
+ var thisElem = This.elem = document.createElement("div");
+ var lowerCss = ["", "transform-origin:0 0;", "transform:scale(" + 1 / scale + ");"];
+ thisElem.innerHTML = '';
+ var canvas = This.canvas = thisElem.querySelector("canvas");
+ This.ctx = canvas.getContext("2d");
canvas.width = width;
canvas.height = height;
- This.ctx = canvas.getContext("2d");
+ if (elem) {
+ elem.innerHTML = "";
+ elem.appendChild(thisElem);
+ }
if (!Recorder.LibFFT) {
- throw new Error($T.G("NeedImport-2", [ViewTxt, "src/extensions/lib.fft.js"]));
+ throw new Error("需要lib.fft.js支持");
}
This.fft = Recorder.LibFFT(1024);
@@ -15900,9 +16188,6 @@ https://sourceforge.net/projects/jmp123/files/
//超时没有输入,顶部横条已全部落下,干掉定时器
clearInterval(This.timer);
This.timer = 0;
- This.lastH = []; //重置高度再绘制一次,避免定时不准没到底就停了
- This.stripesH = [];
- This.draw(null, This.sampleRate);
return;
}
if (now - drawTime < interval) {
@@ -15954,19 +16239,15 @@ https://sourceforge.net/projects/jmp123/files/
var Y0 = 1 << (Math.round(Math.log(bufferSize) / Math.log(2) + 3) << 1);
var logY0 = Math.log(Y0) / Math.log(10);
var dBmax = 20 * Math.log(0x7fff) / Math.log(10);
- var fftSize = bufferSize / 2,
- fftSize5k = fftSize;
- if (!set.fullFreq) {
- //非绘制所有频率时,计算5khz所在位置,8000采样率及以下最高只有4khz
- fftSize5k = Math.min(fftSize, Math.floor(fftSize * 5000 / (sampleRate / 2)));
- }
- var isFullFreq = fftSize5k == fftSize;
- var line80 = isFullFreq ? lineCount : Math.round(lineCount * 0.8); //80%的柱子位置
+ var fftSize = bufferSize / 2;
+ var fftSize5k = Math.min(fftSize, Math.floor(fftSize * 5000 / (sampleRate / 2))); //5khz所在位置,8000采样率及以下最高只有4khz
+ var fftSize5kIsAll = fftSize5k == fftSize;
+ var line80 = fftSize5kIsAll ? lineCount : Math.round(lineCount * 0.8); //80%的柱子位置
var fftSizeStep1 = fftSize5k / line80;
- var fftSizeStep2 = isFullFreq ? 0 : (fftSize - fftSize5k) / (lineCount - line80);
+ var fftSizeStep2 = fftSize5kIsAll ? 0 : (fftSize - fftSize5k) / (lineCount - line80);
var fftIdx = 0;
for (var i = 0; i < lineCount; i++) {
- // !fullFreq 时不采用jmp123的非线性划分频段,录音语音并不适用于音乐的频率,应当弱化高频部分
+ //不采用jmp123的非线性划分频段,录音语音并不适用于音乐的频率,应当弱化高频部分
//80%关注0-5khz主要人声部分 20%关注剩下的高频,这样不管什么采样率都能做到大部分频率显示一致。
var start = Math.ceil(fftIdx);
if (i < line80) {
@@ -15976,18 +16257,14 @@ https://sourceforge.net/projects/jmp123/files/
//5khz以上
fftIdx += fftSizeStep2;
}
- var end = Math.ceil(fftIdx);
- if (end == start) end++;
- end = Math.min(end, fftSize);
+ var end = Math.min(Math.ceil(fftIdx), fftSize);
//参考AudioGUI.java .drawHistogram方法
//查找当前频段的最大"幅值"
var maxAmp = 0;
- if (frequencyData) {
- for (var j = start; j < end; j++) {
- maxAmp = Math.max(maxAmp, Math.abs(frequencyData[j]));
- }
+ for (var j = start; j < end; j++) {
+ maxAmp = Math.max(maxAmp, Math.abs(frequencyData[j]));
}
//计算音量
@@ -16025,6 +16302,8 @@ https://sourceforge.net/projects/jmp123/files/
var stripeLinear2 = set.stripeLinear && This.genLinear(ctx, set.stripeLinear, originY, originY + heightY) || linear2; //上半部分的峰值小横条填充
//计算柱子间距
+ ctx.shadowBlur = set.shadowBlur * scale;
+ ctx.shadowColor = set.shadowColor;
var mirrorEnable = set.mirrorEnable;
var mirrorCount = mirrorEnable ? lineCount * 2 - 1 : lineCount; //镜像柱子数量翻一倍-1根
@@ -16033,105 +16312,78 @@ https://sourceforge.net/projects/jmp123/files/
if (spaceWidth != 0) {
widthRatio = (width - spaceWidth * (mirrorCount + 1)) / width;
}
- for (var i = 0; i < 2; i++) {
- var lineFloat = Math.max(1 * scale, width * widthRatio / mirrorCount); //柱子宽度至少1个单位
- var lineWN = Math.floor(lineFloat),
- lineWF = lineFloat - lineWN; //提取出小数部分
- var spaceFloat = (width - mirrorCount * lineFloat) / (mirrorCount + 1); //均匀间隔,首尾都留空,可能为负数,柱子将发生重叠
- if (spaceFloat > 0 && spaceFloat < 1) {
- widthRatio = 1;
- spaceFloat = 0; //不够一个像素,丢弃不绘制间隔,重新计算
- } else break;
+ var lineWidth = Math.max(1 * scale, Math.floor(width * widthRatio / mirrorCount)); //柱子宽度至少1个单位
+ var spaceFloat = (width - mirrorCount * lineWidth) / (mirrorCount + 1); //均匀间隔,首尾都留空,可能为负数,柱子将发生重叠
+
+ //绘制柱子
+ var minHeight = set.minHeight * scale;
+ var mirrorSubX = spaceFloat + lineWidth / 2;
+ var XFloat = mirrorEnable ? width / 2 - mirrorSubX : 0; //镜像时,中间柱子位于正中心
+ for (var i = 0, xFloat = XFloat, x, y, h; i < lineCount; i++) {
+ xFloat += spaceFloat;
+ x = Math.floor(xFloat);
+ h = Math.max(lastH[i], minHeight);
+
+ //绘制上半部分
+ if (originY != 0) {
+ y = originY - h;
+ ctx.fillStyle = linear1;
+ ctx.fillRect(x, y, lineWidth, h);
+ }
+ //绘制下半部分
+ if (originY != height) {
+ ctx.fillStyle = linear2;
+ ctx.fillRect(x, originY, lineWidth, h);
+ }
+ xFloat += lineWidth;
}
- //绘制
- var minHeight = set.minHeight * scale;
- var XFloat = mirrorEnable ? (width - lineWN) / 2 - spaceFloat : 0; //镜像时,中间柱子位于正中心
- for (var iMirror = 0; iMirror < 2; iMirror++) {
- if (iMirror) {
- ctx.save();
- ctx.scale(-1, 1);
- }
- var xMirror = iMirror ? width : 0; //绘制镜像部分,不用drawImage(canvas)进行镜像绘制,提升兼容性(iOS微信小程序bug https://developers.weixin.qq.com/community/develop/doc/000aaca2148dc8a235a0fb8c66b000)
-
- //绘制柱子
- ctx.shadowBlur = set.shadowBlur * scale;
- ctx.shadowColor = set.shadowColor;
- for (var i = 0, xFloat = XFloat, wFloat = 0, x, y, w, h; i < lineCount; i++) {
+ //绘制柱子顶上峰值小横条
+ if (set.stripeEnable) {
+ var stripeShadowBlur = set.stripeShadowBlur;
+ ctx.shadowBlur = (stripeShadowBlur == -1 ? set.shadowBlur : stripeShadowBlur) * scale;
+ ctx.shadowColor = set.stripeShadowColor || set.shadowColor;
+ var stripeHeight = set.stripeHeight * scale;
+ for (var i = 0, xFloat = XFloat, x, y, h; i < lineCount; i++) {
xFloat += spaceFloat;
- x = Math.floor(xFloat) - xMirror;
- w = lineWN;
- wFloat += lineWF;
- if (wFloat >= 1) {
- w++;
- wFloat--;
- } //小数凑够1像素
- h = Math.max(lastH[i], minHeight);
+ x = Math.floor(xFloat);
+ h = stripesH[i];
//绘制上半部分
if (originY != 0) {
- y = originY - h;
- ctx.fillStyle = linear1;
- ctx.fillRect(x, y, w, h);
+ y = originY - h - stripeHeight;
+ if (y < 0) {
+ y = 0;
+ }
+ ctx.fillStyle = stripeLinear1;
+ ctx.fillRect(x, y, lineWidth, stripeHeight);
}
//绘制下半部分
if (originY != height) {
- ctx.fillStyle = linear2;
- ctx.fillRect(x, originY, w, h);
- }
- xFloat += w;
- }
-
- //绘制柱子顶上峰值小横条
- if (set.stripeEnable) {
- var stripeShadowBlur = set.stripeShadowBlur;
- ctx.shadowBlur = (stripeShadowBlur == -1 ? set.shadowBlur : stripeShadowBlur) * scale;
- ctx.shadowColor = set.stripeShadowColor || set.shadowColor;
- var stripeHeight = set.stripeHeight * scale;
- for (var i = 0, xFloat = XFloat, wFloat = 0, x, y, w, h; i < lineCount; i++) {
- xFloat += spaceFloat;
- x = Math.floor(xFloat) - xMirror;
- w = lineWN;
- wFloat += lineWF;
- if (wFloat >= 1) {
- w++;
- wFloat--;
- } //小数凑够1像素
- h = stripesH[i];
-
- //绘制上半部分
- if (originY != 0) {
- y = originY - h - stripeHeight;
- if (y < 0) {
- y = 0;
- }
- ctx.fillStyle = stripeLinear1;
- ctx.fillRect(x, y, w, stripeHeight);
+ y = originY + h;
+ if (y + stripeHeight > height) {
+ y = height - stripeHeight;
}
- //绘制下半部分
- if (originY != height) {
- y = originY + h;
- if (y + stripeHeight > height) {
- y = height - stripeHeight;
- }
- ctx.fillStyle = stripeLinear2;
- ctx.fillRect(x, y, w, stripeHeight);
- }
- xFloat += w;
+ ctx.fillStyle = stripeLinear2;
+ ctx.fillRect(x, y, lineWidth, stripeHeight);
}
+ xFloat += lineWidth;
}
- if (iMirror) {
- ctx.restore();
- }
- if (!mirrorEnable) break;
}
- if (frequencyData) {
- set.onDraw(frequencyData, sampleRate);
+
+ //镜像,从中间直接镜像即可
+ if (mirrorEnable) {
+ var srcW = Math.floor(width / 2);
+ ctx.save();
+ ctx.scale(-1, 1);
+ ctx.drawImage(This.canvas, Math.ceil(width / 2), 0, srcW, height, -srcW, 0, srcW, height);
+ ctx.restore();
}
+ set.onDraw(frequencyData, sampleRate);
}
};
Recorder[ViewTxt] = FrequencyHistogramView;
-});
+})();
/*
时域转频域,快速傅里叶变换(FFT)
@@ -16145,111 +16397,104 @@ fft.transform(inBuffer)
inBuffer:[Int16,...] 数组长度必须是bufferSize
返回[Float64(Long),...],长度为bufferSize/2
*/
-(function (factory) {
- var browser = typeof window == "object" && !!window.document;
- var win = browser ? window : Object; //非浏览器环境,Recorder挂载在Object下面
- var rec = win.Recorder,
- ni = rec.i18n;
- factory(rec, ni, ni.$T, browser);
-})(function (Recorder, i18n, $T, isBrowser) {
+
+/*
+从FFT.java 移植,Java开源库:jmp123 版本0.3
+https://www.iteye.com/topic/851459
+https://sourceforge.net/projects/jmp123/files/
+*/
+Recorder.LibFFT = function (bufferSize) {
+
+ var FFT_N_LOG, FFT_N, MINY;
+ var real, imag, sintable, costable;
+ var bitReverse;
+ var FFT_Fn = function (bufferSize) {
+ //bufferSize只能取值2的n次方
+ FFT_N_LOG = Math.round(Math.log(bufferSize) / Math.log(2));
+ FFT_N = 1 << FFT_N_LOG;
+ MINY = (FFT_N << 2) * Math.sqrt(2);
+ real = [];
+ imag = [];
+ sintable = [0];
+ costable = [0];
+ bitReverse = [];
+ var i, j, k, reve;
+ for (i = 0; i < FFT_N; i++) {
+ k = i;
+ for (j = 0, reve = 0; j != FFT_N_LOG; j++) {
+ reve <<= 1;
+ reve |= k & 1;
+ k >>>= 1;
+ }
+ bitReverse[i] = reve;
+ }
+ var theta,
+ dt = 2 * Math.PI / FFT_N;
+ for (i = (FFT_N >> 1) - 1; i > 0; i--) {
+ theta = i * dt;
+ costable[i] = Math.cos(theta);
+ sintable[i] = Math.sin(theta);
+ }
+ };
/*
- 从FFT.java 移植,Java开源库:jmp123 版本0.3
- https://www.iteye.com/topic/851459
- https://sourceforge.net/projects/jmp123/files/
+ 用于频谱显示的快速傅里叶变换
+ inBuffer 输入FFT_N个实数,返回 FFT_N/2个输出值(复数模的平方)。
*/
- Recorder.LibFFT = function (bufferSize) {
- var FFT_N_LOG, FFT_N, MINY;
- var real, imag, sintable, costable;
- var bitReverse;
- var FFT_Fn = function (bufferSize) {
- //bufferSize只能取值2的n次方
- FFT_N_LOG = Math.round(Math.log(bufferSize) / Math.log(2));
- FFT_N = 1 << FFT_N_LOG;
- MINY = (FFT_N << 2) * Math.sqrt(2);
- real = [];
- imag = [];
- sintable = [0];
- costable = [0];
- bitReverse = [];
- var i, j, k, reve;
- for (i = 0; i < FFT_N; i++) {
- k = i;
- for (j = 0, reve = 0; j != FFT_N_LOG; j++) {
- reve <<= 1;
- reve |= k & 1;
- k >>>= 1;
+ var getModulus = function (inBuffer) {
+ var i,
+ j,
+ k,
+ ir,
+ j0 = 1,
+ idx = FFT_N_LOG - 1;
+ var cosv, sinv, tmpr, tmpi;
+ for (i = 0; i != FFT_N; i++) {
+ real[i] = inBuffer[bitReverse[i]];
+ imag[i] = 0;
+ }
+ for (i = FFT_N_LOG; i != 0; i--) {
+ for (j = 0; j != j0; j++) {
+ cosv = costable[j << idx];
+ sinv = sintable[j << idx];
+ for (k = j; k < FFT_N; k += j0 << 1) {
+ ir = k + j0;
+ tmpr = cosv * real[ir] - sinv * imag[ir];
+ tmpi = cosv * imag[ir] + sinv * real[ir];
+ real[ir] = real[k] - tmpr;
+ imag[ir] = imag[k] - tmpi;
+ real[k] += tmpr;
+ imag[k] += tmpi;
}
- bitReverse[i] = reve;
}
- var theta,
- dt = 2 * Math.PI / FFT_N;
- for (i = (FFT_N >> 1) - 1; i > 0; i--) {
- theta = i * dt;
- costable[i] = Math.cos(theta);
- sintable[i] = Math.sin(theta);
- }
- };
-
+ j0 <<= 1;
+ idx--;
+ }
+ j = FFT_N >> 1;
+ var outBuffer = new Float64Array(j);
/*
- 用于频谱显示的快速傅里叶变换
- inBuffer 输入FFT_N个实数,返回 FFT_N/2个输出值(复数模的平方)。
- */
- var getModulus = function (inBuffer) {
- var i,
- j,
- k,
- ir,
- j0 = 1,
- idx = FFT_N_LOG - 1;
- var cosv, sinv, tmpr, tmpi;
- for (i = 0; i != FFT_N; i++) {
- real[i] = inBuffer[bitReverse[i]];
- imag[i] = 0;
- }
- for (i = FFT_N_LOG; i != 0; i--) {
- for (j = 0; j != j0; j++) {
- cosv = costable[j << idx];
- sinv = sintable[j << idx];
- for (k = j; k < FFT_N; k += j0 << 1) {
- ir = k + j0;
- tmpr = cosv * real[ir] - sinv * imag[ir];
- tmpi = cosv * imag[ir] + sinv * real[ir];
- real[ir] = real[k] - tmpr;
- imag[ir] = imag[k] - tmpi;
- real[k] += tmpr;
- imag[k] += tmpi;
- }
- }
- j0 <<= 1;
- idx--;
- }
- j = FFT_N >> 1;
- var outBuffer = new Float64Array(j);
- /*
- * 输出模的平方:
- * for(i = 1; i <= j; i++)
- * inBuffer[i-1] = real[i] * real[i] + imag[i] * imag[i];
- *
- * 如果FFT只用于频谱显示,可以"淘汰"幅值较小的而减少浮点乘法运算. MINY的值
- * 和Spectrum.Y0,Spectrum.logY0对应.
- */
- sinv = MINY;
- cosv = -MINY;
- for (i = j; i != 0; i--) {
- tmpr = real[i];
- tmpi = imag[i];
- if (tmpr > cosv && tmpr < sinv && tmpi > cosv && tmpi < sinv) outBuffer[i - 1] = 0;else outBuffer[i - 1] = Math.round(tmpr * tmpr + tmpi * tmpi);
- }
- return outBuffer;
- };
- FFT_Fn(bufferSize);
- return {
- transform: getModulus,
- bufferSize: FFT_N
- };
+ * 输出模的平方:
+ * for(i = 1; i <= j; i++)
+ * inBuffer[i-1] = real[i] * real[i] + imag[i] * imag[i];
+ *
+ * 如果FFT只用于频谱显示,可以"淘汰"幅值较小的而减少浮点乘法运算. MINY的值
+ * 和Spectrum.Y0,Spectrum.logY0对应.
+ */
+ sinv = MINY;
+ cosv = -MINY;
+ for (i = j; i != 0; i--) {
+ tmpr = real[i];
+ tmpi = imag[i];
+ if (tmpr > cosv && tmpr < sinv && tmpi > cosv && tmpi < sinv) outBuffer[i - 1] = 0;else outBuffer[i - 1] = Math.round(tmpr * tmpr + tmpi * tmpi);
+ }
+ return outBuffer;
};
-});
+ FFT_Fn(bufferSize);
+ return {
+ transform: getModulus,
+ bufferSize: FFT_N
+ };
+};
var playIcon = "data:image/png;base64,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";
@@ -18366,7 +18611,7 @@ function mixin() {
function setup(options) {
return assign_1(setupDefaults_1, options);
}
-XEUtils.VERSION = '3.5.28';
+XEUtils.VERSION = '3.5.25';
XEUtils.mixin = mixin;
XEUtils.setup = setup;
var ctor = XEUtils;
@@ -50518,7 +50763,7 @@ var script$7 = {
return this.getKeyboardShow();
},
evn() {
- return this.getSysEvn();
+ return this.getSysEvn() || {};
},
mergeMarkList() {
let teacherNoteList = this.getTeacherNoteList() || [],
@@ -52162,7 +52407,7 @@ __vue_render__$7._withStripped = true;
/* style */
const __vue_inject_styles__$7 = undefined;
/* scoped */
- const __vue_scope_id__$7 = "data-v-1fc9f10a";
+ const __vue_scope_id__$7 = "data-v-4ae2eebc";
/* module identifier */
const __vue_module_identifier__$7 = undefined;
/* functional template */
@@ -52454,7 +52699,7 @@ __vue_render__$6._withStripped = true;
/* style */
const __vue_inject_styles__$6 = undefined;
/* scoped */
- const __vue_scope_id__$6 = "data-v-42df40de";
+ const __vue_scope_id__$6 = "data-v-58344fec";
/* module identifier */
const __vue_module_identifier__$6 = undefined;
/* functional template */
@@ -52744,7 +52989,7 @@ __vue_render__$5._withStripped = true;
/* style */
const __vue_inject_styles__$5 = undefined;
/* scoped */
- const __vue_scope_id__$5 = "data-v-01022b03";
+ const __vue_scope_id__$5 = "data-v-3236e51e";
/* module identifier */
const __vue_module_identifier__$5 = undefined;
/* functional template */
@@ -53084,7 +53329,7 @@ __vue_render__$4._withStripped = true;
/* style */
const __vue_inject_styles__$4 = undefined;
/* scoped */
- const __vue_scope_id__$4 = "data-v-0751fc96";
+ const __vue_scope_id__$4 = "data-v-26ba39ca";
/* module identifier */
const __vue_module_identifier__$4 = undefined;
/* functional template */
@@ -53379,7 +53624,7 @@ __vue_render__$3._withStripped = true;
/* style */
const __vue_inject_styles__$3 = undefined;
/* scoped */
- const __vue_scope_id__$3 = "data-v-e03e6adc";
+ const __vue_scope_id__$3 = "data-v-d7269ea6";
/* module identifier */
const __vue_module_identifier__$3 = undefined;
/* functional template */
@@ -53642,7 +53887,7 @@ __vue_render__$2._withStripped = true;
/* style */
const __vue_inject_styles__$2 = undefined;
/* scoped */
- const __vue_scope_id__$2 = "data-v-f2f9072c";
+ const __vue_scope_id__$2 = "data-v-1df2d36f";
/* module identifier */
const __vue_module_identifier__$2 = undefined;
/* functional template */
@@ -53947,7 +54192,7 @@ __vue_render__$1._withStripped = true;
/* style */
const __vue_inject_styles__$1 = undefined;
/* scoped */
- const __vue_scope_id__$1 = "data-v-6c942a60";
+ const __vue_scope_id__$1 = "data-v-109af1e5";
/* module identifier */
const __vue_module_identifier__$1 = undefined;
/* functional template */
@@ -54246,7 +54491,7 @@ __vue_render__._withStripped = true;
/* style */
const __vue_inject_styles__ = undefined;
/* scoped */
- const __vue_scope_id__ = "data-v-6d42e319";
+ const __vue_scope_id__ = "data-v-700541de";
/* module identifier */
const __vue_module_identifier__ = undefined;
/* functional template */
diff --git a/src/plugin/xml-digital-teaching/lib/imageText.min.css b/src/plugin/xml-digital-teaching/lib/imageText.min.css
index d8957de..d70ba58 100644
--- a/src/plugin/xml-digital-teaching/lib/imageText.min.css
+++ b/src/plugin/xml-digital-teaching/lib/imageText.min.css
@@ -1 +1 @@
-.xml-text-h5 .inline-audio-wrap,.xml-text-h5 .inline-link-wrap{align-items:center}.xml-text-h5 .inline-audio-wrap span,.xml-text-h5 .inline-link-wrap span{display:inline-block}.xml-text-h5 .inline-audio-box{width:20px;height:20px;box-sizing:border-box;position:relative;margin-left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol{width:20px;height:20px;box-sizing:border-box;overflow:hidden;transform:rotate(135deg);position:relative}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle{border:3px solid #418eed;border-radius:50%;position:absolute}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.first{width:3px;height:3px;background:#0076bc;top:14px;left:14px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.second{width:15px;height:15px;top:10px;left:10px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.third{width:24px;height:24px;top:6px;left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .second{animation:fadeInOut 1s infinite .2s}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .third{animation:fadeInOut 1s infinite .4s}@keyframes fadeInOut{0%{opacity:0}100%{opacity:1}}.virtual-input .el-textarea__inner{min-height:0!important;height:0!important;padding:0!important;margin:0!important;border:none!important}.xml-image-lun-bo .el-carousel__item{text-align:center}.el-image__inner[data-v-fb4f6862]{width:100%!important}.xml-image-ping-pu-h5[data-v-fb4f6862]{display:flex;flex-direction:column;align-items:center}.xml-image-hua-lang[data-v-fb4f6862]{display:flex;flex-direction:column;align-items:center}
\ No newline at end of file
+.xml-image-lun-bo .el-carousel__item{text-align:center}.xml-text-h5 .inline-audio-wrap,.xml-text-h5 .inline-link-wrap{align-items:center}.xml-text-h5 .inline-audio-wrap span,.xml-text-h5 .inline-link-wrap span{display:inline-block}.xml-text-h5 .inline-audio-box{width:20px;height:20px;box-sizing:border-box;position:relative;margin-left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol{width:20px;height:20px;box-sizing:border-box;overflow:hidden;transform:rotate(135deg);position:relative}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle{border:3px solid #418eed;border-radius:50%;position:absolute}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.first{width:3px;height:3px;background:#0076bc;top:14px;left:14px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.second{width:15px;height:15px;top:10px;left:10px}.xml-text-h5 .inline-audio-box .wifi-symbol .wifi-circle.third{width:24px;height:24px;top:6px;left:6px}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .second{animation:fadeInOut 1s infinite .2s}.xml-text-h5 .inline-audio-box .wifi-symbol.playing .third{animation:fadeInOut 1s infinite .4s}@keyframes fadeInOut{0%{opacity:0}100%{opacity:1}}.virtual-input .el-textarea__inner{min-height:0!important;height:0!important;padding:0!important;margin:0!important;border:none!important}.el-image__inner[data-v-45a069ea]{width:100%!important}.xml-image-ping-pu-h5[data-v-45a069ea]{display:flex;flex-direction:column;align-items:center}.xml-image-hua-lang[data-v-45a069ea]{display:flex;flex-direction:column;align-items:center}
\ No newline at end of file
diff --git a/src/plugin/xml-digital-teaching/lib/index.css b/src/plugin/xml-digital-teaching/lib/index.css
index 3657bb3..158f16d 100644
--- a/src/plugin/xml-digital-teaching/lib/index.css
+++ b/src/plugin/xml-digital-teaching/lib/index.css
@@ -1,32 +1,35 @@
-.preview-container-h5[data-v-d33ac4da] {
+
+
+/*# sourceMappingURL=render.vue.map */
+.preview-container-h5[data-v-10b6c598] {
padding-top: 15px;
}
-.preview-container-pc[data-v-d33ac4da] {
+.preview-container-pc[data-v-10b6c598] {
padding-top: 15px;
}
-.preview-container-pad[data-v-d33ac4da] {
+.preview-container-pad[data-v-10b6c598] {
padding-top: 15px;
}
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog {
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog {
display: flex;
align-items: center;
}
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog:not(.is-fullscreen) {
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog:not(.is-fullscreen) {
margin-top: 0 !important;
}
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__header {
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__header {
padding: 0;
}
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .custom-dialog {
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .custom-dialog {
background-color: transparent;
box-shadow: none;
}
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__body {
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__body {
padding: 20px 18px;
position: relative;
background: linear-gradient(-45deg, transparent 11px, #fff 0);
}
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .top-line {
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .top-line {
position: absolute;
top: 0;
left: 0;
@@ -34,24 +37,24 @@
height: 4px;
background: linear-gradient(90deg, #4994fb, #4994fb, #a2c5f9);
}
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper {
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper {
max-height: 60vh;
overflow-y: scroll;
}
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper::-webkit-scrollbar {
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper::-webkit-scrollbar {
width: 0;
}
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h1,
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h2,
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h3,
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h4,
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h5,
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h6 {
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h1,
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h2,
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h3,
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h4,
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h5,
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .native-html-wrapper h6 {
color: revert;
font-size: revert;
font-weight: revert;
}
-.preview-container[data-v-d33ac4da] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .bottom-triangle {
+.preview-container[data-v-10b6c598] .el-dialog__wrapper.preview-box-dialog .el-dialog__body .bottom-triangle {
position: absolute;
bottom: 0;
right: 0;
@@ -64,9 +67,6 @@
/*# sourceMappingURL=PreviewLooseLeaf.vue.map */
-/*# sourceMappingURL=render.vue.map */
-
-
@@ -353,23 +353,6 @@
-.catalog-node-label[data-v-61c986fa] {
- display: flex;
- align-items: center;
-}
-.catalog-node-label img[data-v-61c986fa] {
- margin-right: 4px;
-}
-.xml-show-catalog[data-v-61c986fa] .el-tree-node__content {
- height: auto;
-}
-.xml-show-catalog[data-v-61c986fa] .el-tree-node__content .catalog-node-label {
- max-width: calc(100% - 24px);
- word-break: break-all;
- white-space: normal;
-}
-
-/*# sourceMappingURL=XmlCatalog.vue.map */
.xml-image-lun-bo .el-carousel__item {
text-align: center;
@@ -377,26 +360,46 @@
-/*# sourceMappingURL=XmlTextDialog.vue.map */
+/*# sourceMappingURL=XmlGroup.vue.map */
-.xml-question-container-h5[data-v-2e04d85c] {
+.styleModeE_row {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ margin-top: 10px;
}
-.xml-question-container-pc[data-v-2e04d85c] {
+.styleModee_title {
+ text-align: center;
+ margin-top: 30px;
}
-.xml-question-container-pad[data-v-2e04d85c] {
-}
-
-
-.xml-show-catalog .el-tree-node__content {
- display: flex !important;
-}
-
-
-.xml-text-h5[data-v-1fc9f10a] {
+.styleModeE_progress {
+ width: 500px;
+ margin: 0px 20px;
}
-.xml-text-pc[data-v-1fc9f10a] {
+.styleModeF_row {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
}
-.xml-text-h5[data-v-1fc9f10a] {
+.styleModeF_IMG {
+ width: 250px;
+ height: 150px;
+ background-color: aquamarine;
+}
+.styleModeF_I {
+ font-size: 50px;
+ margin-left: 15px;
+ position: absolute;
+ top: 50px;
+ left: 80px;
+}
+.styleModeF_title {
+ text-align: center;
+ margin-top: 20px;
+}
+.styleModeF_progress {
+ width: 200px;
+ margin: 0px 20px;
}
.xml-text-h5 .inline-audio-wrap,
@@ -470,25 +473,50 @@
/*# sourceMappingURL=XmlText.vue.map */
-.xml-ebook-container-h5[data-v-9aae5a66] {
+.xml-text-h5[data-v-4ae2eebc] {
}
-.xml-ebook-container-pc[data-v-9aae5a66] {
+.xml-text-pc[data-v-4ae2eebc] {
}
-.xml-ebook-container-pad[data-v-9aae5a66] {
+.xml-text-h5[data-v-4ae2eebc] {
}
-
-/*# sourceMappingURL=XmlGroup.vue.map */
-
-.xml-video-container-h5[data-v-099f61c2] {
+.xml-question-container-h5[data-v-ba265e2e] {
}
-.xml-video-container-pc[data-v-099f61c2] {
+.xml-question-container-pc[data-v-ba265e2e] {
}
-.xml-video-container-pad[data-v-099f61c2] {
+.xml-question-container-pad[data-v-ba265e2e] {
}
-.xml-video-container-pdf[data-v-3c5e97c1] {
+.preview-item-file[data-v-95fbfab6]:hover,
+.slip-over-cover[data-v-95fbfab6]:hover {
+ cursor: pointer;
+}
+
+/*# sourceMappingURL=XmlResource.vue.map */
+.catalog-node-label[data-v-a4248782] {
+ display: flex;
+ align-items: center;
+}
+.catalog-node-label img[data-v-a4248782] {
+ margin-right: 4px;
+}
+.xml-show-catalog[data-v-a4248782] .el-tree-node__content {
+ height: auto;
+}
+.xml-show-catalog[data-v-a4248782] .el-tree-node__content .catalog-node-label {
+ max-width: calc(100% - 24px);
+ word-break: break-all;
+ white-space: normal;
+}
+
+/*# sourceMappingURL=XmlCatalog.vue.map */
+
+.xml-show-catalog .el-tree-node__content {
+ display: flex !important;
+}
+
+.xml-video-container-pdf[data-v-8036e7f4] {
position: relative;
display: flex;
justify-content: center;
@@ -498,13 +526,13 @@
padding-bottom: 56.25%;
background: #000;
}
-.xml-video-container-pdf .cover[data-v-3c5e97c1] {
+.xml-video-container-pdf .cover[data-v-8036e7f4] {
position: absolute;
top: 0;
max-width: 100%;
max-height: 100%;
}
-.xml-video-container-pdf .play[data-v-3c5e97c1] {
+.xml-video-container-pdf .play[data-v-8036e7f4] {
position: absolute;
top: 45%;
left: 45%;
@@ -516,337 +544,104 @@
/*# sourceMappingURL=XmlVideoImg.vue.map */
+/*# sourceMappingURL=XmlTextDialog.vue.map */
+
+.xml-video-container-h5[data-v-0976e3e4] {
+}
+.xml-video-container-pc[data-v-0976e3e4] {
+}
+.xml-video-container-pad[data-v-0976e3e4] {
+}
+
+
+
/*# sourceMappingURL=XmlTestPaper.vue.map */
-.preview-item-file[data-v-9f3a54f2]:hover,
-.slip-over-cover[data-v-9f3a54f2]:hover {
- cursor: pointer;
+
+.xml-ebook-container-h5[data-v-4640bc87] {
}
-
-/*# sourceMappingURL=XmlResource.vue.map */
+.xml-ebook-container-pc[data-v-4640bc87] {
+}
+.xml-ebook-container-pad[data-v-4640bc87] {
+}
+
-/*# sourceMappingURL=second.vue.map */
+/*# sourceMappingURL=sixth.vue.map */
+
+
+/*# sourceMappingURL=sixth.vue.map */
+
+
+/*# sourceMappingURL=sixth.vue.map */
/*# sourceMappingURL=fifth.vue.map */
-/*# sourceMappingURL=second.vue.map */
-
-
-/*# sourceMappingURL=second.vue.map */
-
-
-/*# sourceMappingURL=second.vue.map */
-
-
-/*# sourceMappingURL=rectangle.vue.map */
-
-
-/*# sourceMappingURL=hexagon.vue.map */
-
-
/*# sourceMappingURL=fifth.vue.map */
-/*# sourceMappingURL=square.vue.map */
-
-
-/*# sourceMappingURL=rotundity.vue.map */
-
-
-/*# sourceMappingURL=fifth.vue.map */
-
-
-/*# sourceMappingURL=first.vue.map */
-
-
-/*# sourceMappingURL=first.vue.map */
-
-
-/*# sourceMappingURL=triangle.vue.map */
-
-
-/*# sourceMappingURL=first.vue.map */
-
-
-/*# sourceMappingURL=third.vue.map */
-
-
-/*# sourceMappingURL=third.vue.map */
-
-
-/*# sourceMappingURL=fourteen.vue.map */
-
-
-/*# sourceMappingURL=first.vue.map */
-
-
-/*# sourceMappingURL=semicircle.vue.map */
-
-
-/*# sourceMappingURL=third.vue.map */
-
-
-/*# sourceMappingURL=third.vue.map */
-
-
-/*# sourceMappingURL=fourteen.vue.map */
-
-
-/*# sourceMappingURL=sixth.vue.map */
-
-
-/*# sourceMappingURL=sixth.vue.map */
-
-
-/*# sourceMappingURL=sixth.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme1.vue.map */
-
-
-/*# sourceMappingURL=fifteen.vue.map */
-
-
-/*# sourceMappingURL=thirteenth.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme1.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme1.vue.map */
-
-
-/*# sourceMappingURL=twelfth.vue.map */
-
-
-/*# sourceMappingURL=fifteen.vue.map */
-
-
-/*# sourceMappingURL=eighteen.vue.map */
-
-
-/*# sourceMappingURL=sixteen.vue.map */
-
-
-/*# sourceMappingURL=sixteen.vue.map */
-
-
-/*# sourceMappingURL=nineteen.vue.map */
-
-
-/*# sourceMappingURL=Greentheme1.vue.map */
-
-
-/*# sourceMappingURL=Greentheme1.vue.map */
-
-
-/*# sourceMappingURL=Greentheme3.vue.map */
-
-
-/*# sourceMappingURL=Greentheme3.vue.map */
-
-
-/*# sourceMappingURL=Greentheme3.vue.map */
-
-
-/*# sourceMappingURL=eighteen2.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme2.vue.map */
-
-
-/*# sourceMappingURL=seventeen.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme2.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme2.vue.map */
-
-
-/*# sourceMappingURL=Greentheme5.vue.map */
-
-
-/*# sourceMappingURL=Greentheme5.vue.map */
-
-
-/*# sourceMappingURL=Greentheme2.vue.map */
-
-
-/*# sourceMappingURL=Greentheme2.vue.map */
-
-
-/*# sourceMappingURL=Greentheme2.vue.map */
-
-
-/*# sourceMappingURL=Greentheme4.vue.map */
-
-
-/*# sourceMappingURL=Greentheme4.vue.map */
-
-
-/*# sourceMappingURL=Greentheme4.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme6.vue.map */
-
-
-/*# sourceMappingURL=SanQintheme1.vue.map */
-
-
-/*# sourceMappingURL=Greentheme6.vue.map */
-
-
-/*# sourceMappingURL=SanQintheme1.vue.map */
-
-
-/*# sourceMappingURL=SanQintheme3.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme3.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme3.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme3.vue.map */
-
-
-/*# sourceMappingURL=SanQintheme3.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme5.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme5.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme4.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme4.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme4.vue.map */
-
-
-/*# sourceMappingURL=Knowledge.vue.map */
-
-
-/*# sourceMappingURL=twenty.vue.map */
-
-
-/*# sourceMappingURL=SanQintheme2.vue.map */
-
-
-/*# sourceMappingURL=SanQintheme2.vue.map */
-
-
-/*# sourceMappingURL=Twentyone.vue.map */
-
-
-/*# sourceMappingURL=Twentythree.vue.map */
-
-
-/*# sourceMappingURL=Twentytwo.vue.map */
-
-
-/*# sourceMappingURL=rectangle.vue.map */
-
-
-/*# sourceMappingURL=sixth.vue.map */
-
-
-/*# sourceMappingURL=first.vue.map */
-.title-text[data-v-616d10ee] {
- background-color: var(--background-color) !important;
-}
-.title-left[data-v-616d10ee] {
- border-color: var(--background-color) !important;
- color: var(--background-color) !important;
-}
-
-/*# sourceMappingURL=third.vue.map */
-
-
-/*# sourceMappingURL=thirteenth.vue.map */
-
-
-/*# sourceMappingURL=semicircle.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme4.vue.map */
-
-
-/*# sourceMappingURL=Greentheme6.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme6.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme2.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme1.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme5.vue.map */
-
-
-/*# sourceMappingURL=fifteen.vue.map */
-
-
-/*# sourceMappingURL=Greentheme3.vue.map */
-
-
-/*# sourceMappingURL=Greentheme1.vue.map */
-
-
-/*# sourceMappingURL=Greentheme2.vue.map */
-
-
-/*# sourceMappingURL=hexagon.vue.map */
-
-
-/*# sourceMappingURL=Greentheme4.vue.map */
-
-
-/*# sourceMappingURL=nineteen.vue.map */
-
-
-/*# sourceMappingURL=twelfth.vue.map */
-
-
/*# sourceMappingURL=fifth.vue.map */
/*# sourceMappingURL=eighth.vue.map */
-/*# sourceMappingURL=seventh.vue.map */
-
-
-/*# sourceMappingURL=seventh.vue.map */
-
-
/*# sourceMappingURL=eighth.vue.map */
/*# sourceMappingURL=eighth.vue.map */
+/*# sourceMappingURL=second.vue.map */
+
+
+/*# sourceMappingURL=second.vue.map */
+
+
+/*# sourceMappingURL=second.vue.map */
+
+
+/*# sourceMappingURL=second.vue.map */
+
+
/*# sourceMappingURL=fourth.vue.map */
/*# sourceMappingURL=fourth.vue.map */
+/*# sourceMappingURL=first.vue.map */
+
+
+/*# sourceMappingURL=first.vue.map */
+
+
+/*# sourceMappingURL=first.vue.map */
+
+
+/*# sourceMappingURL=first.vue.map */
+
+
/*# sourceMappingURL=seventh.vue.map */
-/*# sourceMappingURL=seventeen.vue.map */
+/*# sourceMappingURL=seventh.vue.map */
+
+
+/*# sourceMappingURL=seventh.vue.map */
+
+
+/*# sourceMappingURL=third.vue.map */
+
+
+/*# sourceMappingURL=third.vue.map */
+
+
+/*# sourceMappingURL=third.vue.map */
+
+
+/*# sourceMappingURL=third.vue.map */
/*# sourceMappingURL=ninth.vue.map */
@@ -858,208 +653,259 @@
/*# sourceMappingURL=isosceles.vue.map */
+/*# sourceMappingURL=tenth.vue.map */
+
+
+/*# sourceMappingURL=tenth.vue.map */
+
+
/*# sourceMappingURL=quadrangle.vue.map */
-/*# sourceMappingURL=tenth.vue.map */
-
-
-/*# sourceMappingURL=eleven.vue.map */
-
-
-/*# sourceMappingURL=tenth.vue.map */
-
-
/*# sourceMappingURL=wave.vue.map */
-/*# sourceMappingURL=sixteen.vue.map */
-
-
-/*# sourceMappingURL=fourteen.vue.map */
-
-
-/*# sourceMappingURL=triangle.vue.map */
-
-
-/*# sourceMappingURL=Knowledge.vue.map */
-
-
/*# sourceMappingURL=thirteen.vue.map */
/*# sourceMappingURL=twelve.vue.map */
-/*# sourceMappingURL=Redtheme1.vue.map */
-
-
-/*# sourceMappingURL=Redtheme1.vue.map */
-
-
-/*# sourceMappingURL=Redtheme1.vue.map */
-
-
-/*# sourceMappingURL=Redtheme3.vue.map */
-
-
-/*# sourceMappingURL=Redtheme3.vue.map */
-
-
-/*# sourceMappingURL=Redtheme3.vue.map */
-
-
-/*# sourceMappingURL=Redtheme4.vue.map */
-
-
-/*# sourceMappingURL=Redtheme4.vue.map */
-
-
-/*# sourceMappingURL=Redtheme4.vue.map */
-
-
-/*# sourceMappingURL=Redtheme2.vue.map */
-
-
-/*# sourceMappingURL=Redtheme6.vue.map */
-
-
-/*# sourceMappingURL=Redtheme2.vue.map */
-
-
-/*# sourceMappingURL=Redtheme2.vue.map */
-
-
-/*# sourceMappingURL=Redtheme5.vue.map */
-
-
-/*# sourceMappingURL=Thirtyfive.vue.map */
-
-
-/*# sourceMappingURL=Thirtyfive.vue.map */
-
-
-/*# sourceMappingURL=Thirtyseven3.vue.map */
-
-
-/*# sourceMappingURL=Thirtyeight.vue.map */
-
-
-/*# sourceMappingURL=Thirtyeight.vue.map */
-
-
-/*# sourceMappingURL=Thirtyseven2.vue.map */
-
-
-/*# sourceMappingURL=isosceles.vue.map */
-
-
-/*# sourceMappingURL=third.vue.map */
-
-
-/*# sourceMappingURL=first.vue.map */
-
-
-/*# sourceMappingURL=tenth.vue.map */
-
-
-/*# sourceMappingURL=Thirtyseven.vue.map */
-
-
-/*# sourceMappingURL=Thirtyseven.vue.map */
-
-
-/*# sourceMappingURL=sixteen.vue.map */
-
-
-/*# sourceMappingURL=quadrangle.vue.map */
-
-
-/*# sourceMappingURL=Thirtysix.vue.map */
-
-
-/*# sourceMappingURL=Thirtysix.vue.map */
-
-
-/*# sourceMappingURL=Forty.vue.map */
-
-
-/*# sourceMappingURL=Forty.vue.map */
-
-
-/*# sourceMappingURL=seventh.vue.map */
-
-
-/*# sourceMappingURL=ninth.vue.map */
-
-
-/*# sourceMappingURL=second.vue.map */
-
-
-/*# sourceMappingURL=Greentheme2.vue.map */
-
-
-/*# sourceMappingURL=eighth.vue.map */
-
-
-/*# sourceMappingURL=thirteen.vue.map */
-
-
-/*# sourceMappingURL=fourteen.vue.map */
-
-
-/*# sourceMappingURL=Greytheme4.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme3.vue.map */
-
-
-/*# sourceMappingURL=Greentheme4.vue.map */
-
-
-/*# sourceMappingURL=eleven.vue.map */
+/*# sourceMappingURL=Greentheme3.vue.map */
/*# sourceMappingURL=Greentheme3.vue.map */
+/*# sourceMappingURL=Greentheme3.vue.map */
+
+
+/*# sourceMappingURL=fourteen.vue.map */
+
+
+/*# sourceMappingURL=fourteen.vue.map */
+
+
+/*# sourceMappingURL=eleven.vue.map */
+
+
+/*# sourceMappingURL=Greentheme4.vue.map */
+
+
+/*# sourceMappingURL=Greentheme4.vue.map */
+
+
+/*# sourceMappingURL=Greentheme4.vue.map */
+
+
+/*# sourceMappingURL=fifteen.vue.map */
+
+
+/*# sourceMappingURL=fifteen.vue.map */
+
+
+/*# sourceMappingURL=Greentheme2.vue.map */
+
+
+/*# sourceMappingURL=Greentheme2.vue.map */
+
+
+/*# sourceMappingURL=Greentheme2.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme3.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme3.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme3.vue.map */
+
+
/*# sourceMappingURL=Greentheme5.vue.map */
-/*# sourceMappingURL=Redtheme2.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme1.vue.map */
+/*# sourceMappingURL=Greentheme5.vue.map */
/*# sourceMappingURL=Yellowtheme2.vue.map */
-/*# sourceMappingURL=Redtheme5.vue.map */
+/*# sourceMappingURL=Yellowtheme2.vue.map */
-/*# sourceMappingURL=Yellowtheme4.vue.map */
+/*# sourceMappingURL=Yellowtheme2.vue.map */
-/*# sourceMappingURL=Redtheme1.vue.map */
+/*# sourceMappingURL=Yellowtheme1.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme1.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme1.vue.map */
/*# sourceMappingURL=Redtheme3.vue.map */
+/*# sourceMappingURL=Redtheme3.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme4.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme4.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme4.vue.map */
+
+
+/*# sourceMappingURL=Redtheme6.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme5.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme5.vue.map */
+
+
/*# sourceMappingURL=Redtheme4.vue.map */
-/*# sourceMappingURL=Greytheme6.vue.map */
+/*# sourceMappingURL=Redtheme4.vue.map */
-/*# sourceMappingURL=eleventh.vue.map */
+/*# sourceMappingURL=sixteen.vue.map */
+
+
+/*# sourceMappingURL=sixteen.vue.map */
+
+
+/*# sourceMappingURL=Redtheme5.vue.map */
+
+
+/*# sourceMappingURL=Thirtyfive.vue.map */
+
+
+/*# sourceMappingURL=SanQintheme2.vue.map */
+
+
+/*# sourceMappingURL=SanQintheme2.vue.map */
+
+
+/*# sourceMappingURL=sixth.vue.map */
+.title-text[data-v-c72aed64] {
+ background-color: var(--background-color) !important;
+}
+.title-left[data-v-c72aed64] {
+ border-color: var(--background-color) !important;
+ color: var(--background-color) !important;
+}
+
+/*# sourceMappingURL=third.vue.map */
+
+
+/*# sourceMappingURL=fifteen.vue.map */
+
+
+/*# sourceMappingURL=first.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme5.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme2.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme1.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme4.vue.map */
+
+
+/*# sourceMappingURL=Greentheme2.vue.map */
+
+
+/*# sourceMappingURL=Greentheme4.vue.map */
+
+
+/*# sourceMappingURL=Greentheme3.vue.map */
+
+
+/*# sourceMappingURL=Thirtysix.vue.map */
+
+
+/*# sourceMappingURL=SanQintheme1.vue.map */
+
+
+/*# sourceMappingURL=SanQintheme1.vue.map */
+
+
+/*# sourceMappingURL=Redtheme1.vue.map */
+
+
+/*# sourceMappingURL=Redtheme1.vue.map */
+
+
+/*# sourceMappingURL=SanQintheme3.vue.map */
+
+
+/*# sourceMappingURL=SanQintheme3.vue.map */
+
+
+/*# sourceMappingURL=Thirtyseven3.vue.map */
+
+
+/*# sourceMappingURL=Thirtyseven2.vue.map */
+
+
+/*# sourceMappingURL=Thirtyeight.vue.map */
+
+
+/*# sourceMappingURL=fifth.vue.map */
+
+
+/*# sourceMappingURL=Thirtyseven.vue.map */
+
+
+/*# sourceMappingURL=fourteen.vue.map */
+
+
+/*# sourceMappingURL=Forty.vue.map */
+
+
+/*# sourceMappingURL=Redtheme1.vue.map */
+
+
+/*# sourceMappingURL=sixteen.vue.map */
+
+
+/*# sourceMappingURL=Redtheme4.vue.map */
+
+
+/*# sourceMappingURL=Redtheme3.vue.map */
+
+
+/*# sourceMappingURL=Thirtysix.vue.map */
+
+
+/*# sourceMappingURL=Greytheme2.vue.map */
+
+
+/*# sourceMappingURL=Thirtyseven.vue.map */
+
+
+/*# sourceMappingURL=Thirtyfive.vue.map */
+
+
+/*# sourceMappingURL=Thirtyeight.vue.map */
/*# sourceMappingURL=Greytheme5.vue.map */
-/*# sourceMappingURL=Greytheme2.vue.map */
+/*# sourceMappingURL=eleventh.vue.map */
/*# sourceMappingURL=Greytheme3.vue.map */
@@ -1068,103 +914,352 @@
/*# sourceMappingURL=Greytheme1.vue.map */
-/*# sourceMappingURL=Bluetheme4.vue.map */
+/*# sourceMappingURL=Greytheme4.vue.map */
+
+
+/*# sourceMappingURL=Greytheme6.vue.map */
+
+
+/*# sourceMappingURL=Greentheme1.vue.map */
+
+
+/*# sourceMappingURL=Greentheme1.vue.map */
+
+
+/*# sourceMappingURL=Greentheme1.vue.map */
+
+
+/*# sourceMappingURL=Bluetheme3.vue.map */
+
+
+/*# sourceMappingURL=Bluetheme2.vue.map */
+
+
+/*# sourceMappingURL=Forty.vue.map */
+
+
+/*# sourceMappingURL=hexagon.vue.map */
+
+
+/*# sourceMappingURL=hexagon.vue.map */
+
+
+/*# sourceMappingURL=rotundity.vue.map */
+
+
+/*# sourceMappingURL=Redtheme2.vue.map */
+
+
+/*# sourceMappingURL=Redtheme2.vue.map */
+
+
+/*# sourceMappingURL=Redtheme2.vue.map */
/*# sourceMappingURL=Bluetheme1.vue.map */
+/*# sourceMappingURL=Bluetheme4.vue.map */
+
+
+/*# sourceMappingURL=rectangle.vue.map */
+
+
+/*# sourceMappingURL=rectangle.vue.map */
+
+
+/*# sourceMappingURL=semicircle.vue.map */
+
+
+/*# sourceMappingURL=semicircle.vue.map */
+
+
+/*# sourceMappingURL=second.vue.map */
+
+
+/*# sourceMappingURL=isosceles.vue.map */
+
+
+/*# sourceMappingURL=first.vue.map */
+
+
+/*# sourceMappingURL=triangle.vue.map */
+
+
+/*# sourceMappingURL=triangle.vue.map */
+
+
+/*# sourceMappingURL=quadrangle.vue.map */
+
+
+/*# sourceMappingURL=eighth.vue.map */
+
+
+/*# sourceMappingURL=tenth.vue.map */
+
+
+/*# sourceMappingURL=twelfth.vue.map */
+
+
+/*# sourceMappingURL=twelfth.vue.map */
+
+
+/*# sourceMappingURL=ninth.vue.map */
+
+
+/*# sourceMappingURL=square.vue.map */
+
+
+/*# sourceMappingURL=thirteenth.vue.map */
+
+
+/*# sourceMappingURL=thirteenth.vue.map */
+
+
+/*# sourceMappingURL=seventeen.vue.map */
+
+
+/*# sourceMappingURL=seventeen.vue.map */
+
+
+/*# sourceMappingURL=third.vue.map */
+
+
+/*# sourceMappingURL=Greentheme2.vue.map */
+
+
+/*# sourceMappingURL=sixteen.vue.map */
+
+
+/*# sourceMappingURL=seventh.vue.map */
+
+
+/*# sourceMappingURL=eleven.vue.map */
+
+
+/*# sourceMappingURL=Greentheme3.vue.map */
+
+
+/*# sourceMappingURL=fourteen.vue.map */
+
+
+/*# sourceMappingURL=thirteen.vue.map */
+
+
+/*# sourceMappingURL=Greentheme4.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme2.vue.map */
+
+
+/*# sourceMappingURL=Greentheme5.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme1.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme3.vue.map */
+
+
+/*# sourceMappingURL=nineteen.vue.map */
+
+
+/*# sourceMappingURL=nineteen.vue.map */
+
+
/*# sourceMappingURL=Yellowtheme5.vue.map */
+/*# sourceMappingURL=Yellowtheme4.vue.map */
+
+
+/*# sourceMappingURL=Redtheme2.vue.map */
+
+
+/*# sourceMappingURL=Redtheme3.vue.map */
+
+
+/*# sourceMappingURL=Redtheme5.vue.map */
+
+
+/*# sourceMappingURL=eighteen2.vue.map */
+
+
+/*# sourceMappingURL=Greentheme6.vue.map */
+
+
+/*# sourceMappingURL=Greentheme6.vue.map */
+
+
+/*# sourceMappingURL=eighteen.vue.map */
+
+
/*# sourceMappingURL=Redtheme6.vue.map */
+/*# sourceMappingURL=Knowledge.vue.map */
+
+
+/*# sourceMappingURL=Knowledge.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme6.vue.map */
+
+
+/*# sourceMappingURL=Yellowtheme6.vue.map */
+
+
+/*# sourceMappingURL=Twentyone.vue.map */
+
+
+/*# sourceMappingURL=Redtheme4.vue.map */
+
+
+/*# sourceMappingURL=Redtheme1.vue.map */
+
+
/*# sourceMappingURL=SanQintheme1.vue.map */
/*# sourceMappingURL=twelve.vue.map */
-/*# sourceMappingURL=Bluetheme3.vue.map */
+/*# sourceMappingURL=Twentythree.vue.map */
-/*# sourceMappingURL=Bluetheme2.vue.map */
+/*# sourceMappingURL=Twentytwo.vue.map */
-.xml-single-question-group-h5[data-v-77922a38] {
+
+/*# sourceMappingURL=twenty.vue.map */
+
+.xml-single-ebook-group-h5[data-v-18c06d1c] {
}
-.xml-single-question-group-pc[data-v-77922a38] {
+.xml-single-ebook-group-pc[data-v-18c06d1c] {
}
-.xml-single-question-group-pad[data-v-77922a38] {
+.xml-single-ebook-group-pad[data-v-18c06d1c] {
}
-.xml-single-ebook-group-h5[data-v-0b9200e9] {
+.xml-single-ebook-group-h5[data-v-2c319df0] {
}
-.xml-single-ebook-group-pc[data-v-0b9200e9] {
+.xml-single-ebook-group-pc[data-v-2c319df0] {
}
-.xml-single-ebook-group-pad[data-v-0b9200e9] {
+.xml-single-ebook-group-pad[data-v-2c319df0] {
}
-.xml-single-question-group-h5[data-v-34ba0440] {
+.xml-single-question-group-h5[data-v-cf5b6886] {
}
-.xml-single-question-group-pc[data-v-34ba0440] {
+.xml-single-question-group-pc[data-v-cf5b6886] {
}
-.xml-single-question-group-pad[data-v-34ba0440] {
+.xml-single-question-group-pad[data-v-cf5b6886] {
}
-.xml-single-ebook-group-h5[data-v-b39a2926] {
+.xml-single-ebook-group-h5[data-v-42eedd84] {
}
-.xml-single-ebook-group-pc[data-v-b39a2926] {
+.xml-single-ebook-group-pc[data-v-42eedd84] {
}
-.xml-single-ebook-group-pad[data-v-b39a2926] {
+.xml-single-ebook-group-pad[data-v-42eedd84] {
}
-.xml-single-music-group-h5[data-v-272f2034] {
+.xml-single-resource-group-h5[data-v-614dbb96] {
}
-.xml-single-music-group-pc[data-v-272f2034] {
+.xml-single-resource-group-pc[data-v-614dbb96] {
}
-.xml-single-music-group-pad[data-v-272f2034] {
+.xml-single-resource-group-pad[data-v-614dbb96] {
}
-.xml-single-ebook-group-h5[data-v-55908341] {
+.xml-single-question-group-h5[data-v-0c133c8a] {
}
-.xml-single-ebook-group-pc[data-v-55908341] {
+.xml-single-question-group-pc[data-v-0c133c8a] {
}
-.xml-single-ebook-group-pad[data-v-55908341] {
+.xml-single-question-group-pad[data-v-0c133c8a] {
+}
+
+
+.xml-single-music-group-h5[data-v-8d6cf2e2] {
+}
+.xml-single-music-group-pc[data-v-8d6cf2e2] {
+}
+.xml-single-music-group-pad[data-v-8d6cf2e2] {
+}
+
+
+.xml-single-text-group-h5[data-v-a8e0b970] {
+}
+.xml-single-text-group-pc[data-v-a8e0b970] {
+}
+.xml-single-text-group-pad[data-v-a8e0b970] {
+}
+
+
+.xml-single-video-group-h5[data-v-6b3c0a0a] {
+}
+.xml-single-video-group-pc[data-v-6b3c0a0a] {
+}
+.xml-single-video-group-pad[data-v-6b3c0a0a] {
}
/*# sourceMappingURL=single-agent-group.vue.map */
-.xml-single-resource-group-h5[data-v-2b4774b7] {
-}
-.xml-single-resource-group-pc[data-v-2b4774b7] {
-}
-.xml-single-resource-group-pad[data-v-2b4774b7] {
-}
-
-.xml-single-text-group-h5[data-v-647015fa] {
-}
-.xml-single-text-group-pc[data-v-647015fa] {
-}
-.xml-single-text-group-pad[data-v-647015fa] {
-}
-
+/*# sourceMappingURL=second.vue.map */
-.xml-single-video-group-h5[data-v-3ae74720] {
-}
-.xml-single-video-group-pc[data-v-3ae74720] {
-}
-.xml-single-video-group-pad[data-v-3ae74720] {
-}
-
+
+/*# sourceMappingURL=first.vue.map */
+
+
+/*# sourceMappingURL=fifth.vue.map */
+
+
+/*# sourceMappingURL=third.vue.map */
+
+
+/*# sourceMappingURL=sixth.vue.map */
+
+
+/*# sourceMappingURL=seventh.vue.map */
+
+
+/*# sourceMappingURL=fourth.vue.map */
+
+
+/*# sourceMappingURL=first.vue.map */
+
+
+/*# sourceMappingURL=fourth.vue.map */
+
+
+/*# sourceMappingURL=fifth.vue.map */
+
+
+/*# sourceMappingURL=second.vue.map */
+
+
+/*# sourceMappingURL=seventh.vue.map */
+
+
+/*# sourceMappingURL=sixth.vue.map */
+
+
+/*# sourceMappingURL=eighth.vue.map */
+
+
+/*# sourceMappingURL=eleventh.vue.map */
+
+
+/*# sourceMappingURL=ninth.vue.map */
+
+
+/*# sourceMappingURL=Redtheme1.vue.map */
+
+
+/*# sourceMappingURL=Greytheme2.vue.map */
.xml-skeleton-item {
/* margin: 20px 0; */
@@ -1186,141 +1281,61 @@
-/*# sourceMappingURL=second.vue.map */
-
-
-/*# sourceMappingURL=third.vue.map */
-
-
-/*# sourceMappingURL=fifth.vue.map */
-
-
-/*# sourceMappingURL=sixth.vue.map */
-
-
-/*# sourceMappingURL=fourth.vue.map */
-
-
-/*# sourceMappingURL=seventh.vue.map */
-
-
-/*# sourceMappingURL=first.vue.map */
-
-
-/*# sourceMappingURL=second.vue.map */
-
-
-/*# sourceMappingURL=fourth.vue.map */
-
-
-/*# sourceMappingURL=Redtheme1.vue.map */
-
-
-/*# sourceMappingURL=sixth.vue.map */
-
-
-/*# sourceMappingURL=eleventh.vue.map */
-
-
-/*# sourceMappingURL=fifth.vue.map */
-
-
-/*# sourceMappingURL=first.vue.map */
-
-
-/*# sourceMappingURL=eighth.vue.map */
-
-
-/*# sourceMappingURL=ninth.vue.map */
-
-
-/*# sourceMappingURL=seventh.vue.map */
-
-
-/*# sourceMappingURL=Redtheme4.vue.map */
-
-
-/*# sourceMappingURL=Greytheme5.vue.map */
-
-
/*# sourceMappingURL=Greytheme3.vue.map */
+/*# sourceMappingURL=Yellowtheme3.vue.map */
+
+
/*# sourceMappingURL=tenth.vue.map */
+/*# sourceMappingURL=Greytheme5.vue.map */
+
+
/*# sourceMappingURL=Bluetheme2.vue.map */
/*# sourceMappingURL=Yellowtheme2.vue.map */
-/*# sourceMappingURL=Greytheme2.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme1.vue.map */
-
-
-/*# sourceMappingURL=Yellowtheme3.vue.map */
-
-
-/*# sourceMappingURL=Twentythree.vue.map */
-
-
-/*# sourceMappingURL=Twentytwo.vue.map */
+/*# sourceMappingURL=Redtheme4.vue.map */
/*# sourceMappingURL=Bluetheme1.vue.map */
-/*# sourceMappingURL=Greytheme1.vue.map */
+/*# sourceMappingURL=Yellowtheme1.vue.map */
/*# sourceMappingURL=Bluetheme4.vue.map */
+/*# sourceMappingURL=Twentytwo.vue.map */
+
+
+/*# sourceMappingURL=Twentythree.vue.map */
+
+
+/*# sourceMappingURL=Greytheme1.vue.map */
+
+
+/*# sourceMappingURL=Thirtytwo.vue.map */
+
+
/*# sourceMappingURL=Thirtythree.vue.map */
/*# sourceMappingURL=Thirtyone.vue.map */
-/*# sourceMappingURL=Thirtytwo.vue.map */
-
-
/*# sourceMappingURL=Thirtyfour.vue.map */
-/*# sourceMappingURL=Thirtynine.vue.map */
-
-
-/*# sourceMappingURL=titleText.vue.map */
-
-
-/*# sourceMappingURL=titleLogging.vue.map */
-
-
-/*# sourceMappingURL=BuleRectangleTwo.vue.map */
-
-
/*# sourceMappingURL=BuleRectangle.vue.map */
-/*# sourceMappingURL=titleCrane.vue.map */
-.title-bgimg[data-v-025e9706] {
- background-image: url(../style/title-text-bgimg.png);
-}
-
-/*# sourceMappingURL=Sevenpageone.vue.map */
-
-
-/*# sourceMappingURL=Fortyone.vue.map */
-
-
-/*# sourceMappingURL=titleQuestion.vue.map */
-
-
-/*# sourceMappingURL=Sevenpagethree.vue.map */
+/*# sourceMappingURL=BuleRectangleTwo.vue.map */
/*# sourceMappingURL=titleLight.vue.map */
@@ -1329,22 +1344,45 @@
/*# sourceMappingURL=titleTearcher.vue.map */
-/*# sourceMappingURL=Sevenpagefour.vue.map */
+/*# sourceMappingURL=Thirtynine.vue.map */
+
+
+/*# sourceMappingURL=titleLogging.vue.map */
+
+
+/*# sourceMappingURL=titleText.vue.map */
+.title-bgimg[data-v-0d1db218] {
+ background-image: url(../style/title-text-bgimg.png);
+}
+
+/*# sourceMappingURL=Sevenpageone.vue.map */
+
+
+/*# sourceMappingURL=Sevenpagethree.vue.map */
/*# sourceMappingURL=Sevenpagetwo.vue.map */
+/*# sourceMappingURL=titleQuestion.vue.map */
+
+
+/*# sourceMappingURL=titleCrane.vue.map */
+
+
+/*# sourceMappingURL=Sevenpagefour.vue.map */
+
+
/*# sourceMappingURL=Sevenpagefive.vue.map */
-/*# sourceMappingURL=Foldtheme1.vue.map */
+/*# sourceMappingURL=Fortyone.vue.map */
/*# sourceMappingURL=Redtheme7.vue.map */
-/*# sourceMappingURL=Tabstheme1.vue.map */
+/*# sourceMappingURL=Foldtheme1.vue.map */
/*# sourceMappingURL=Foldtheme3.vue.map */
@@ -1356,15 +1394,15 @@
/*# sourceMappingURL=Tabstheme2.vue.map */
+/*# sourceMappingURL=Tabstheme4.vue.map */
+
+
+/*# sourceMappingURL=Tabstheme1.vue.map */
+
+
/*# sourceMappingURL=Tabstheme3.vue.map */
-/*# sourceMappingURL=Tabstheme6.vue.map */
-
-
-/*# sourceMappingURL=Foldtheme5.vue.map */
-
-
/*# sourceMappingURL=Foldtheme4.vue.map */
@@ -1374,22 +1412,34 @@
/*# sourceMappingURL=Tabstheme5.vue.map */
+/*# sourceMappingURL=Foldtheme5.vue.map */
+
+
+/*# sourceMappingURL=Tabstheme6.vue.map */
+
+
/*# sourceMappingURL=Fortytwo.vue.map */
-/*# sourceMappingURL=Tabstheme4.vue.map */
-
-
-/*# sourceMappingURL=Fortyfour.vue.map */
-
-
-/*# sourceMappingURL=Fortyseven.vue.map */
+/*# sourceMappingURL=Fortyfive.vue.map */
/*# sourceMappingURL=Fortysix.vue.map */
-/*# sourceMappingURL=Fortyfive.vue.map */
+/*# sourceMappingURL=Fortyseven.vue.map */
+
+
+/*# sourceMappingURL=Fortyfour.vue.map */
+
+
+/*# sourceMappingURL=Twentyfive.vue.map */
+
+
+/*# sourceMappingURL=Twentyfour.vue.map */
+
+
+/*# sourceMappingURL=Twentyseven.vue.map */
/*# sourceMappingURL=Twentysix.vue.map */
@@ -1398,193 +1448,97 @@
/*# sourceMappingURL=Twentyeight.vue.map */
-/*# sourceMappingURL=Twentyfive.vue.map */
-
-
-/*# sourceMappingURL=Twentyfour.vue.map */
-
-.el-image__inner[data-v-fb4f6862] {
- width: 100% !important;
-}
-.xml-image-ping-pu-h5[data-v-fb4f6862] {
- display: flex;
- flex-direction: column;
- align-items: center;
-}
-.xml-image-hua-lang[data-v-fb4f6862] {
- display: flex;
- flex-direction: column;
- align-items: center;
-}
-
-
-
-/*# sourceMappingURL=Twentyseven.vue.map */
-
-
/*# sourceMappingURL=xmlCollapse.vue.map */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
/*# sourceMappingURL=xmlWrapperPage.vue.map */
/*# sourceMappingURL=xmlPopup.vue.map */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+.el-image__inner[data-v-45a069ea] {
+ width: 100% !important;
+}
+.xml-image-ping-pu-h5[data-v-45a069ea] {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+.xml-image-hua-lang[data-v-45a069ea] {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-.preview-container-h5[data-v-25742cb8] {
+.preview-container-h5[data-v-52e2a929] {
padding-top: 15px;
}
-.preview-container-pc[data-v-25742cb8] {
+.preview-container-pc[data-v-52e2a929] {
padding-top: 15px;
}
-.preview-container-pad[data-v-25742cb8] {
+.preview-container-pad[data-v-52e2a929] {
padding-top: 15px;
}
-.preview-container[data-v-25742cb8] .el-dialog__wrapper.preview-box-dialog {
+.preview-container[data-v-52e2a929] .el-dialog__wrapper.preview-box-dialog {
display: flex;
align-items: center;
}
-.preview-container[data-v-25742cb8] .el-dialog__wrapper.preview-box-dialog .el-dialog:not(.is-fullscreen) {
+.preview-container[data-v-52e2a929] .el-dialog__wrapper.preview-box-dialog .el-dialog:not(.is-fullscreen) {
margin-top: 0 !important;
}
-.preview-container[data-v-25742cb8] .el-dialog__wrapper.preview-box-dialog .el-dialog__header {
+.preview-container[data-v-52e2a929] .el-dialog__wrapper.preview-box-dialog .el-dialog__header {
padding: 0;
}
@@ -1675,6 +1629,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1960,40 +2001,6 @@
-.el-dialog__header {
- background-color: #f2f2f2 !important;
-}
-.el-dialog__title {
- font-size: 20px;
-}
-.add-teacher-resources-dialog {
- width: 100%;
- height: 100%;
-}
-.add-teacher-resources-dialog .el-form--label-left {
- display: flex;
- flex-direction: column;
- width: 100%;
- height: 30%;
-}
-.add-teacher-resources-dialog .el-form-item--medium {
- padding-left: 5px;
-}
-.content-left {
- overflow: hidden;
- text-overflow: ellipsis;
- display: -webkit-box;
- -webkit-line-clamp: 3;
- -webkit-box-orient: vertical;
- margin-bottom: 10px;
- font-size: 16px;
- font-weight: 800;
-}
-.el-textarea__inner {
- font-size: 16px;
-}
-
-/*# sourceMappingURL=modifyNotes.vue.map */
@@ -2596,6 +2603,46 @@
}
/*# sourceMappingURL=setPop.vue.map */
+.el-dialog__header {
+ background-color: #f2f2f2 !important;
+}
+.el-dialog__title {
+ font-size: 20px;
+}
+.add-teacher-resources-dialog {
+ width: 100%;
+ height: 100%;
+}
+.add-teacher-resources-dialog .el-form--label-left {
+ display: flex;
+ flex-direction: column;
+ width: 100%;
+ height: 30%;
+}
+.add-teacher-resources-dialog .el-form-item--medium {
+ padding-left: 5px;
+}
+.content-left {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 3;
+ -webkit-box-orient: vertical;
+ margin-bottom: 10px;
+ font-size: 16px;
+ font-weight: 800;
+}
+.el-textarea__inner {
+ font-size: 16px;
+}
+
+/*# sourceMappingURL=modifyNotes.vue.map */
+
+
+/*# sourceMappingURL=classGrade.vue.map */
+
+
+/*# sourceMappingURL=xmlStatisticalChart.vue.map */
@@ -2701,15 +2748,12 @@
-
-
-/*# sourceMappingURL=xmlRobotPc.vue.map */
/*# sourceMappingURL=xmlRobotPhone.vue.map */
-/*# sourceMappingURL=QuestionItem.vue.map */
+/*# sourceMappingURL=xmlRobotPc.vue.map */
/*# sourceMappingURL=QuestionItem.vue.map */
@@ -3173,10 +3217,10 @@
-.option-item + .option-item[data-v-307b4eb2] {
+.option-item + .option-item[data-v-f42e3dba] {
margin-top: 16px;
}
-.option-item[data-v-307b4eb2] {
+.option-item[data-v-f42e3dba] {
display: flex;
background: #fbfbfb;
border-radius: 6px;
@@ -3185,42 +3229,42 @@
transition: all ease 0.3s;
border: 1px solid #fbfbfb;
}
-.option-item.isActive[data-v-307b4eb2] {
+.option-item.isActive[data-v-f42e3dba] {
border-color: #2e9adb;
}
-.option-item .questionSeq[data-v-307b4eb2] {
+.option-item .questionSeq[data-v-f42e3dba] {
padding: 8px 0;
}
-.option-item.isTrue[data-v-307b4eb2] {
+.option-item.isTrue[data-v-f42e3dba] {
border: 1px solid #70b603;
}
-.option-item.isTrue[data-v-307b4eb2] .el-checkbox__input.is-checked .el-checkbox__inner {
+.option-item.isTrue[data-v-f42e3dba] .el-checkbox__input.is-checked .el-checkbox__inner {
border-color: #70b603;
background: #70b603;
}
-.option-item.isFalse[data-v-307b4eb2] {
+.option-item.isFalse[data-v-f42e3dba] {
border: 1px solid #d9001b;
}
-.option-item.isFalse[data-v-307b4eb2] .el-checkbox__input.is-checked .el-checkbox__inner {
+.option-item.isFalse[data-v-f42e3dba] .el-checkbox__input.is-checked .el-checkbox__inner {
border-color: #d9001b;
background: #d9001b;
}
-.option-item[data-v-307b4eb2]:hover {
+.option-item[data-v-f42e3dba]:hover {
background: #ddd;
}
-.option-item[data-v-307b4eb2] .content {
+.option-item[data-v-f42e3dba] .content {
cursor: pointer;
}
-.option-item[data-v-307b4eb2] .stem-content.no-border {
+.option-item[data-v-f42e3dba] .stem-content.no-border {
padding: 8px 14px !important;
cursor: pointer;
}
/*# sourceMappingURL=checkbox.vue.map */
-.option-item + .option-item[data-v-fa728c70] {
+.option-item + .option-item[data-v-12a7caa8] {
margin-top: 16px;
}
-.option-item[data-v-fa728c70] {
+.option-item[data-v-12a7caa8] {
display: flex;
background: #fbfbfb;
border-radius: 6px;
@@ -3229,42 +3273,42 @@
transition: all ease 0.3s;
border: 1px solid #fbfbfb;
}
-.option-item.isActive[data-v-fa728c70] {
- border-color: #2e9adb;
-}
-.option-item .questionSeq[data-v-fa728c70] {
+.option-item .questionSeq[data-v-12a7caa8] {
padding: 8px 0;
}
-.option-item.isTrue[data-v-fa728c70] {
+.option-item.isActive[data-v-12a7caa8] {
+ border-color: #2e9adb;
+}
+.option-item.isTrue[data-v-12a7caa8] {
border: 1px solid #70b603;
}
-.option-item.isTrue[data-v-fa728c70] .el-checkbox__input.is-checked .el-checkbox__inner {
+.option-item.isTrue[data-v-12a7caa8] .el-radio__input.is-checked .el-radio__inner {
border-color: #70b603;
background: #70b603;
}
-.option-item.isFalse[data-v-fa728c70] {
+.option-item.isFalse[data-v-12a7caa8] {
border: 1px solid #d9001b;
}
-.option-item.isFalse[data-v-fa728c70] .el-checkbox__input.is-checked .el-checkbox__inner {
+.option-item.isFalse[data-v-12a7caa8] .el-radio__input.is-checked .el-radio__inner {
border-color: #d9001b;
background: #d9001b;
}
-.option-item[data-v-fa728c70]:hover {
+.option-item[data-v-12a7caa8]:hover {
background: #ddd;
}
-.option-item[data-v-fa728c70] .content {
+.option-item[data-v-12a7caa8] .content {
cursor: pointer;
}
-.option-item[data-v-fa728c70] .stem-content.no-border {
+.option-item[data-v-12a7caa8] .stem-content.no-border {
padding: 8px 14px !important;
cursor: pointer;
}
-/*# sourceMappingURL=checkbox.vue.map */
-.content[data-v-55ea6f92] {
+/*# sourceMappingURL=radio.vue.map */
+.content[data-v-bfc32194] {
width: 100%;
}
-.content .stem-content[data-v-55ea6f92] {
+.content .stem-content[data-v-bfc32194] {
width: 100%;
box-sizing: border-box;
padding: 5px 14px;
@@ -3273,12 +3317,12 @@
border-radius: 6px;
cursor: pointer;
}
-.content .stem-content.no-border[data-v-55ea6f92] {
+.content .stem-content.no-border[data-v-bfc32194] {
padding: 0;
border: none;
cursor: default;
}
-.content .stem-content .placeholder[data-v-55ea6f92] {
+.content .stem-content .placeholder[data-v-bfc32194] {
color: #c0c4cc;
font-size: 14px;
cursor: pointer;
@@ -3286,258 +3330,55 @@
}
/*# sourceMappingURL=common.vue.map */
-.option-item + .option-item[data-v-7fac7a23] {
- margin-top: 16px;
-}
-.option-item[data-v-7fac7a23] {
- display: flex;
- background: #fbfbfb;
- border-radius: 6px;
- padding-left: 16px;
- cursor: pointer;
- transition: all ease 0.3s;
- border: 1px solid #fbfbfb;
-}
-.option-item .questionSeq[data-v-7fac7a23] {
- padding: 8px 0;
-}
-.option-item.isActive[data-v-7fac7a23] {
- border-color: #2e9adb;
-}
-.option-item.isTrue[data-v-7fac7a23] {
- border: 1px solid #70b603;
-}
-.option-item.isTrue[data-v-7fac7a23] .el-radio__input.is-checked .el-radio__inner {
- border-color: #70b603;
- background: #70b603;
-}
-.option-item.isFalse[data-v-7fac7a23] {
- border: 1px solid #d9001b;
-}
-.option-item.isFalse[data-v-7fac7a23] .el-radio__input.is-checked .el-radio__inner {
- border-color: #d9001b;
- background: #d9001b;
-}
-.option-item[data-v-7fac7a23]:hover {
- background: #ddd;
-}
-.option-item[data-v-7fac7a23] .content {
- cursor: pointer;
-}
-.option-item[data-v-7fac7a23] .stem-content.no-border {
- padding: 8px 14px !important;
- cursor: pointer;
-}
-
-/*# sourceMappingURL=radio.vue.map */
-.content[data-v-3d2dcb5b] {
- width: 100%;
-}
-.content .stem-content[data-v-3d2dcb5b] {
- width: 100%;
- box-sizing: border-box;
- padding: 5px 14px;
- height: auto;
- border: 1px solid #e7e7e7;
- border-radius: 6px;
- cursor: pointer;
-}
-.content .stem-content.no-border[data-v-3d2dcb5b] {
- padding: 0;
- border: none;
- cursor: default;
-}
-.content .stem-content .placeholder[data-v-3d2dcb5b] {
- color: #c0c4cc;
- font-size: 14px;
- cursor: pointer;
- user-select: none;
-}
-
-/*# sourceMappingURL=common.vue.map */
-.option-item + .option-item[data-v-6b27b5ec] {
- margin-top: 16px;
-}
-.option-item[data-v-6b27b5ec] {
- display: flex;
- background: #fbfbfb;
- border-radius: 6px;
- padding-left: 16px;
- cursor: pointer;
- transition: all ease 0.3s;
- border: 1px solid #fbfbfb;
-}
-.option-item .questionSeq[data-v-6b27b5ec] {
- padding: 8px 0;
-}
-.option-item.isActive[data-v-6b27b5ec] {
- border-color: #2e9adb;
-}
-.option-item.isTrue[data-v-6b27b5ec] {
- border: 1px solid #70b603;
-}
-.option-item.isTrue[data-v-6b27b5ec] .el-radio__input.is-checked .el-radio__inner {
- border-color: #70b603;
- background: #70b603;
-}
-.option-item.isFalse[data-v-6b27b5ec] {
- border: 1px solid #d9001b;
-}
-.option-item.isFalse[data-v-6b27b5ec] .el-radio__input.is-checked .el-radio__inner {
- border-color: #d9001b;
- background: #d9001b;
-}
-.option-item[data-v-6b27b5ec]:hover {
- background: #ddd;
-}
-.option-item[data-v-6b27b5ec] .content {
- cursor: pointer;
-}
-.option-item[data-v-6b27b5ec] .stem-content.no-border {
- padding: 8px 14px !important;
- cursor: pointer;
-}
-
-/*# sourceMappingURL=radio.vue.map */
-.image-file[data-v-506f1aca] {
+.image-file[data-v-9dadad14] {
width: 218px;
object-fit: scale-down;
}
-.video-file[data-v-506f1aca] {
+.video-file[data-v-9dadad14] {
width: 408px;
}
-.file-render[data-v-506f1aca] {
+.file-render[data-v-9dadad14] {
width: 100%;
}
-.file-info[data-v-506f1aca] {
+.file-info[data-v-9dadad14] {
flex: 1;
min-width: 0;
}
-.file-info.videoHandler[data-v-506f1aca] {
+.file-info.videoHandler[data-v-9dadad14] {
display: flex;
flex-direction: column;
justify-content: center;
}
-.file-info.videoHandler .fileName[data-v-506f1aca] {
+.file-info.videoHandler .fileName[data-v-9dadad14] {
font-size: 18px;
color: #333333;
margin-bottom: 19px;
}
-.file-info.videoHandler .fileInfo[data-v-506f1aca] {
+.file-info.videoHandler .fileInfo[data-v-9dadad14] {
font-size: 14px;
color: #666666;
margin-bottom: 19px;
}
/*# sourceMappingURL=index.vue.map */
-.image-file[data-v-643cc5f7] {
- width: 218px;
- object-fit: scale-down;
-}
-.video-file[data-v-643cc5f7] {
- width: 408px;
-}
-.file-render[data-v-643cc5f7] {
- width: 100%;
-}
-.file-info[data-v-643cc5f7] {
- flex: 1;
- min-width: 0;
-}
-.file-info.videoHandler[data-v-643cc5f7] {
- display: flex;
- flex-direction: column;
- justify-content: center;
-}
-.file-info.videoHandler .fileName[data-v-643cc5f7] {
- font-size: 18px;
- color: #333333;
- margin-bottom: 19px;
-}
-.file-info.videoHandler .fileInfo[data-v-643cc5f7] {
- font-size: 14px;
- color: #666666;
- margin-bottom: 19px;
-}
-
-/*# sourceMappingURL=index.vue.map */
-.audio .audio-icon[data-v-25355b9e] {
- width: 36px;
- height: 36px;
- margin-right: 20px;
-}
-.audio .audio-icon img[data-v-25355b9e] {
- width: 100%;
- height: 100%;
- display: block;
-}
-.audio .audio-controls[data-v-25355b9e] {
- width: 100%;
- max-width: 200px;
- flex: 1;
- height: 36px;
-}
-.audio .audio-controls .audio-controls--progress[data-v-25355b9e], .audio .audio-controls .audio-controls--handler[data-v-25355b9e] {
- width: 100%;
-}
-.audio .audio-controls .audio-controls--handler[data-v-25355b9e] {
- line-height: 1;
-}
-.audio .audio-controls .audio-controls--handler .play[data-v-25355b9e] {
- font-size: 24px;
-}
-.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-25355b9e] {
- width: 22px;
- height: 22px;
- display: block;
- cursor: pointer;
-}
-.audio .audio-controls .audio-controls--handler .current-time[data-v-25355b9e], .audio .audio-controls .audio-controls--handler .total-time[data-v-25355b9e] {
- font-size: 12px;
- color: #333;
-}
-.play-handler.mobile[data-v-25355b9e] {
- width: 20px;
- height: 20px;
-}
-.audio-component[data-v-25355b9e] {
- display: none;
-}
-[data-v-25355b9e] .el-slider__runway {
- margin: 0 0 4px 0;
- background: #e3e3e3;
- height: 4px;
-}
-[data-v-25355b9e] .el-slider__bar {
- height: 4px;
-}
-[data-v-25355b9e] .el-slider__button {
- width: 10px;
- height: 10px;
-}
-[data-v-25355b9e] .el-slider__button-wrapper {
- top: -15px;
-}
-
-/*# sourceMappingURL=audio-play-new.vue.map */
-[data-v-7cccb5ec] .el-dialog__header {
+[data-v-13303366] .el-dialog__header {
padding: 10px;
}
-.video-content[data-v-7cccb5ec] {
+.video-content[data-v-13303366] {
width: 180px;
height: 135px;
border-radius: 6px;
overflow: hidden;
position: relative;
}
-.video-content .play[data-v-7cccb5ec] {
+.video-content .play[data-v-13303366] {
position: absolute;
left: 50%;
top: 50%;
cursor: pointer;
transform: translateX(-50%) translateY(-50%);
}
-.video-mask[data-v-7cccb5ec] {
+.video-mask[data-v-13303366] {
position: absolute;
left: 0;
top: 0;
@@ -3545,110 +3386,73 @@
height: 100%;
background: rgba(0, 0, 0, 0.5);
}
-.video-mask img[data-v-7cccb5ec] {
+.video-mask img[data-v-13303366] {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50% -50%);
display: block;
}
-.video-player[data-v-7cccb5ec] {
+.video-player[data-v-13303366] {
width: 100%;
}
/*# sourceMappingURL=video-play.vue.map */
-[data-v-7628e470] .el-dialog__header {
- padding: 10px;
-}
-.video-content[data-v-7628e470] {
- width: 180px;
- height: 135px;
- border-radius: 6px;
- overflow: hidden;
- position: relative;
-}
-.video-content .play[data-v-7628e470] {
- position: absolute;
- left: 50%;
- top: 50%;
- cursor: pointer;
- transform: translateX(-50%) translateY(-50%);
-}
-.video-mask[data-v-7628e470] {
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- background: rgba(0, 0, 0, 0.5);
-}
-.video-mask img[data-v-7628e470] {
- position: absolute;
- left: 50%;
- top: 50%;
- transform: translate(-50% -50%);
- display: block;
-}
-.video-player[data-v-7628e470] {
- width: 100%;
-}
-
-/*# sourceMappingURL=video-play.vue.map */
-.audio .audio-icon[data-v-160e520c] {
+.audio .audio-icon[data-v-525a170e] {
width: 36px;
height: 36px;
margin-right: 20px;
}
-.audio .audio-icon img[data-v-160e520c] {
+.audio .audio-icon img[data-v-525a170e] {
width: 100%;
height: 100%;
display: block;
}
-.audio .audio-controls[data-v-160e520c] {
+.audio .audio-controls[data-v-525a170e] {
width: 100%;
max-width: 200px;
flex: 1;
height: 36px;
}
-.audio .audio-controls .audio-controls--progress[data-v-160e520c], .audio .audio-controls .audio-controls--handler[data-v-160e520c] {
+.audio .audio-controls .audio-controls--progress[data-v-525a170e], .audio .audio-controls .audio-controls--handler[data-v-525a170e] {
width: 100%;
}
-.audio .audio-controls .audio-controls--handler[data-v-160e520c] {
+.audio .audio-controls .audio-controls--handler[data-v-525a170e] {
line-height: 1;
}
-.audio .audio-controls .audio-controls--handler .play[data-v-160e520c] {
+.audio .audio-controls .audio-controls--handler .play[data-v-525a170e] {
font-size: 24px;
}
-.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-160e520c] {
+.audio .audio-controls .audio-controls--handler .play .play-handler[data-v-525a170e] {
width: 22px;
height: 22px;
display: block;
cursor: pointer;
}
-.audio .audio-controls .audio-controls--handler .current-time[data-v-160e520c], .audio .audio-controls .audio-controls--handler .total-time[data-v-160e520c] {
+.audio .audio-controls .audio-controls--handler .current-time[data-v-525a170e], .audio .audio-controls .audio-controls--handler .total-time[data-v-525a170e] {
font-size: 12px;
color: #333;
}
-.play-handler.mobile[data-v-160e520c] {
+.play-handler.mobile[data-v-525a170e] {
width: 20px;
height: 20px;
}
-.audio-component[data-v-160e520c] {
+.audio-component[data-v-525a170e] {
display: none;
}
-[data-v-160e520c] .el-slider__runway {
+[data-v-525a170e] .el-slider__runway {
margin: 0 0 4px 0;
background: #e3e3e3;
height: 4px;
}
-[data-v-160e520c] .el-slider__bar {
+[data-v-525a170e] .el-slider__bar {
height: 4px;
}
-[data-v-160e520c] .el-slider__button {
+[data-v-525a170e] .el-slider__button {
width: 10px;
height: 10px;
}
-[data-v-160e520c] .el-slider__button-wrapper {
+[data-v-525a170e] .el-slider__button-wrapper {
top: -15px;
}
diff --git a/src/plugin/xml-digital-teaching/lib/index.js b/src/plugin/xml-digital-teaching/lib/index.js
index dc65f34..365c045 100644
--- a/src/plugin/xml-digital-teaching/lib/index.js
+++ b/src/plugin/xml-digital-teaching/lib/index.js
@@ -1,6 +1,6 @@
/*
* XmlDigitalTeaching v0.0.1
-* Copyright ©Tue Jul 16 2024 17:22:43 GMT+0800 (中国标准时间) smile
+* Copyright ©Mon Jul 22 2024 15:42:53 GMT+0800 (中国标准时间) smile
* Released under the ISC License.
*/
import Vue from 'vue';
@@ -19768,7 +19768,7 @@ if (typeof window !== 'undefined' && window.Vue) {
//
//
-var script$5z = {
+var script$5t = {
//预览教材目录
name: 'PreviewCatalogRender',
props: {
@@ -19908,9 +19908,9 @@ function normalizeComponent(template, style, script, scopeId, isFunctionalTempla
}
/* script */
-const __vue_script__$5z = script$5z;
+const __vue_script__$5t = script$5t;
/* template */
-var __vue_render__$5z = function () {
+var __vue_render__$5t = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -19945,17 +19945,17 @@ var __vue_render__$5z = function () {
1
)
};
-var __vue_staticRenderFns__$5z = [];
-__vue_render__$5z._withStripped = true;
+var __vue_staticRenderFns__$5t = [];
+__vue_render__$5t._withStripped = true;
/* style */
- const __vue_inject_styles__$5z = undefined;
+ const __vue_inject_styles__$5t = undefined;
/* scoped */
- const __vue_scope_id__$5z = "data-v-7da5c6fc";
+ const __vue_scope_id__$5t = "data-v-c7e745c6";
/* module identifier */
- const __vue_module_identifier__$5z = undefined;
+ const __vue_module_identifier__$5t = undefined;
/* functional template */
- const __vue_is_functional_template__$5z = false;
+ const __vue_is_functional_template__$5t = false;
/* style inject */
/* style inject SSR */
@@ -19964,13 +19964,13 @@ __vue_render__$5z._withStripped = true;
- const __vue_component__$5z = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5z, staticRenderFns: __vue_staticRenderFns__$5z },
- __vue_inject_styles__$5z,
- __vue_script__$5z,
- __vue_scope_id__$5z,
- __vue_is_functional_template__$5z,
- __vue_module_identifier__$5z,
+ const __vue_component__$5t = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5t, staticRenderFns: __vue_staticRenderFns__$5t },
+ __vue_inject_styles__$5t,
+ __vue_script__$5t,
+ __vue_scope_id__$5t,
+ __vue_is_functional_template__$5t,
+ __vue_module_identifier__$5t,
false,
undefined,
undefined,
@@ -28953,7 +28953,7 @@ var jquery = createCommonjsModule(function (module) {
});
//
-var script$5y = {
+var script$5s = {
name: 'PreviewLooseLeafRender',
props: {
businessType: String,
@@ -29082,9 +29082,9 @@ var script$5y = {
};
/* script */
-const __vue_script__$5y = script$5y;
+const __vue_script__$5s = script$5s;
/* template */
-var __vue_render__$5y = function () {
+var __vue_render__$5s = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -29173,17 +29173,17 @@ var __vue_render__$5y = function () {
),
])
};
-var __vue_staticRenderFns__$5y = [];
-__vue_render__$5y._withStripped = true;
+var __vue_staticRenderFns__$5s = [];
+__vue_render__$5s._withStripped = true;
/* style */
- const __vue_inject_styles__$5y = undefined;
+ const __vue_inject_styles__$5s = undefined;
/* scoped */
- const __vue_scope_id__$5y = "data-v-25742cb8";
+ const __vue_scope_id__$5s = "data-v-52e2a929";
/* module identifier */
- const __vue_module_identifier__$5y = undefined;
+ const __vue_module_identifier__$5s = undefined;
/* functional template */
- const __vue_is_functional_template__$5y = false;
+ const __vue_is_functional_template__$5s = false;
/* style inject */
/* style inject SSR */
@@ -29192,13 +29192,13 @@ __vue_render__$5y._withStripped = true;
- const __vue_component__$5y = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5y, staticRenderFns: __vue_staticRenderFns__$5y },
- __vue_inject_styles__$5y,
- __vue_script__$5y,
- __vue_scope_id__$5y,
- __vue_is_functional_template__$5y,
- __vue_module_identifier__$5y,
+ const __vue_component__$5s = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5s, staticRenderFns: __vue_staticRenderFns__$5s },
+ __vue_inject_styles__$5s,
+ __vue_script__$5s,
+ __vue_scope_id__$5s,
+ __vue_is_functional_template__$5s,
+ __vue_module_identifier__$5s,
false,
undefined,
undefined,
@@ -29248,11 +29248,11 @@ Array.prototype.Remove = function (item, all) {
}
return result ? this : void 0;
};
-var script$5x = {
+var script$5r = {
name: 'XmlRender',
components: {
- PreviewLooseLeafRender: __vue_component__$5y,
- PreviewCatalogRender: __vue_component__$5z
+ PreviewLooseLeafRender: __vue_component__$5s,
+ PreviewCatalogRender: __vue_component__$5t
},
props: {
uuid: {
@@ -29644,9 +29644,9 @@ var script$5x = {
};
/* script */
-const __vue_script__$5x = script$5x;
+const __vue_script__$5r = script$5r;
/* template */
-var __vue_render__$5x = function () {
+var __vue_render__$5r = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -29829,17 +29829,17 @@ var __vue_render__$5x = function () {
: _c("div", { attrs: { id: "out" } }, [_vm._v("预览地址已失效")]),
])
};
-var __vue_staticRenderFns__$5x = [];
-__vue_render__$5x._withStripped = true;
+var __vue_staticRenderFns__$5r = [];
+__vue_render__$5r._withStripped = true;
/* style */
- const __vue_inject_styles__$5x = undefined;
+ const __vue_inject_styles__$5r = undefined;
/* scoped */
- const __vue_scope_id__$5x = undefined;
+ const __vue_scope_id__$5r = undefined;
/* module identifier */
- const __vue_module_identifier__$5x = undefined;
+ const __vue_module_identifier__$5r = undefined;
/* functional template */
- const __vue_is_functional_template__$5x = false;
+ const __vue_is_functional_template__$5r = false;
/* style inject */
/* style inject SSR */
@@ -29848,23 +29848,23 @@ __vue_render__$5x._withStripped = true;
- const __vue_component__$5x = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5x, staticRenderFns: __vue_staticRenderFns__$5x },
- __vue_inject_styles__$5x,
- __vue_script__$5x,
- __vue_scope_id__$5x,
- __vue_is_functional_template__$5x,
- __vue_module_identifier__$5x,
+ const __vue_component__$5r = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5r, staticRenderFns: __vue_staticRenderFns__$5r },
+ __vue_inject_styles__$5r,
+ __vue_script__$5r,
+ __vue_scope_id__$5r,
+ __vue_is_functional_template__$5r,
+ __vue_module_identifier__$5r,
false,
undefined,
undefined,
undefined
);
-__vue_component__$5x.install = (Vue, options = {}) => {
+__vue_component__$5r.install = (Vue, options = {}) => {
Vue.component(createNamespace$1('render', {
prefix: options.prefix
- }), __vue_component__$5x);
+ }), __vue_component__$5r);
};
const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate
@@ -30500,7 +30500,7 @@ const ObjectFit = {
FILL: 'fill',
SCALE_DOWN: 'scale-down'
};
-var script$5w = {
+var script$5q = {
name: 'DesignPreviewImage',
mixins: [Locale],
inheritAttrs: false,
@@ -30786,9 +30786,9 @@ var script$5w = {
};
/* script */
-const __vue_script__$5w = script$5w;
+const __vue_script__$5q = script$5q;
/* template */
-var __vue_render__$5w = function () {
+var __vue_render__$5q = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -30913,17 +30913,17 @@ var __vue_render__$5w = function () {
2
)
};
-var __vue_staticRenderFns__$5w = [];
-__vue_render__$5w._withStripped = true;
+var __vue_staticRenderFns__$5q = [];
+__vue_render__$5q._withStripped = true;
/* style */
- const __vue_inject_styles__$5w = undefined;
+ const __vue_inject_styles__$5q = undefined;
/* scoped */
- const __vue_scope_id__$5w = "data-v-fb4f6862";
+ const __vue_scope_id__$5q = "data-v-45a069ea";
/* module identifier */
- const __vue_module_identifier__$5w = undefined;
+ const __vue_module_identifier__$5q = undefined;
/* functional template */
- const __vue_is_functional_template__$5w = false;
+ const __vue_is_functional_template__$5q = false;
/* style inject */
/* style inject SSR */
@@ -30932,13 +30932,13 @@ __vue_render__$5w._withStripped = true;
- const __vue_component__$5w = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5w, staticRenderFns: __vue_staticRenderFns__$5w },
- __vue_inject_styles__$5w,
- __vue_script__$5w,
- __vue_scope_id__$5w,
- __vue_is_functional_template__$5w,
- __vue_module_identifier__$5w,
+ const __vue_component__$5q = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5q, staticRenderFns: __vue_staticRenderFns__$5q },
+ __vue_inject_styles__$5q,
+ __vue_script__$5q,
+ __vue_scope_id__$5q,
+ __vue_is_functional_template__$5q,
+ __vue_module_identifier__$5q,
false,
undefined,
undefined,
@@ -31119,7 +31119,7 @@ const Mode = {
}
};
const mousewheelEventName = isFirefox() ? 'DOMMouseScroll' : 'mousewheel';
-var script$5v = {
+var script$5p = {
name: 'XmlImageViewer',
props: {
urlList: {
@@ -31465,10 +31465,10 @@ var script$5v = {
};
/* script */
-const __vue_script__$5v = script$5v;
+const __vue_script__$5p = script$5p;
/* template */
-var __vue_render__$5v = function () {
+var __vue_render__$5p = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -31681,17 +31681,17 @@ var __vue_render__$5v = function () {
),
])
};
-var __vue_staticRenderFns__$5v = [];
-__vue_render__$5v._withStripped = true;
+var __vue_staticRenderFns__$5p = [];
+__vue_render__$5p._withStripped = true;
/* style */
- const __vue_inject_styles__$5v = undefined;
+ const __vue_inject_styles__$5p = undefined;
/* scoped */
- const __vue_scope_id__$5v = undefined;
+ const __vue_scope_id__$5p = undefined;
/* module identifier */
- const __vue_module_identifier__$5v = undefined;
+ const __vue_module_identifier__$5p = undefined;
/* functional template */
- const __vue_is_functional_template__$5v = false;
+ const __vue_is_functional_template__$5p = false;
/* style inject */
/* style inject SSR */
@@ -31700,13 +31700,13 @@ __vue_render__$5v._withStripped = true;
- const __vue_component__$5v = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5v, staticRenderFns: __vue_staticRenderFns__$5v },
- __vue_inject_styles__$5v,
- __vue_script__$5v,
- __vue_scope_id__$5v,
- __vue_is_functional_template__$5v,
- __vue_module_identifier__$5v,
+ const __vue_component__$5p = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5p, staticRenderFns: __vue_staticRenderFns__$5p },
+ __vue_inject_styles__$5p,
+ __vue_script__$5p,
+ __vue_scope_id__$5p,
+ __vue_is_functional_template__$5p,
+ __vue_module_identifier__$5p,
false,
undefined,
undefined,
@@ -31714,18 +31714,18 @@ __vue_render__$5v._withStripped = true;
);
/* istanbul ignore next */
-__vue_component__$5w.install = function (Vue) {
- Vue.component(__vue_component__$5w.name, __vue_component__$5w);
+__vue_component__$5q.install = function (Vue) {
+ Vue.component(__vue_component__$5q.name, __vue_component__$5q);
};
//
/***
* 文本块
*/
-var script$5u = {
+var script$5o = {
name: 'XmlImageRender',
components: {
- previewImageRender: __vue_component__$5w
+ previewImageRender: __vue_component__$5q
},
props: {
//模式:preview 预览 (默认),editor 编辑
@@ -31936,9 +31936,9 @@ var script$5u = {
};
/* script */
-const __vue_script__$5u = script$5u;
+const __vue_script__$5o = script$5o;
/* template */
-var __vue_render__$5u = function () {
+var __vue_render__$5o = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -32361,17 +32361,17 @@ var __vue_render__$5u = function () {
2
)
};
-var __vue_staticRenderFns__$5u = [];
-__vue_render__$5u._withStripped = true;
+var __vue_staticRenderFns__$5o = [];
+__vue_render__$5o._withStripped = true;
/* style */
- const __vue_inject_styles__$5u = undefined;
+ const __vue_inject_styles__$5o = undefined;
/* scoped */
- const __vue_scope_id__$5u = undefined;
+ const __vue_scope_id__$5o = undefined;
/* module identifier */
- const __vue_module_identifier__$5u = undefined;
+ const __vue_module_identifier__$5o = undefined;
/* functional template */
- const __vue_is_functional_template__$5u = false;
+ const __vue_is_functional_template__$5o = false;
/* style inject */
/* style inject SSR */
@@ -32380,23 +32380,23 @@ __vue_render__$5u._withStripped = true;
- const __vue_component__$5u = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5u, staticRenderFns: __vue_staticRenderFns__$5u },
- __vue_inject_styles__$5u,
- __vue_script__$5u,
- __vue_scope_id__$5u,
- __vue_is_functional_template__$5u,
- __vue_module_identifier__$5u,
+ const __vue_component__$5o = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5o, staticRenderFns: __vue_staticRenderFns__$5o },
+ __vue_inject_styles__$5o,
+ __vue_script__$5o,
+ __vue_scope_id__$5o,
+ __vue_is_functional_template__$5o,
+ __vue_module_identifier__$5o,
false,
undefined,
undefined,
undefined
);
-__vue_component__$5u.install = (Vue, options = {}) => {
+__vue_component__$5o.install = (Vue, options = {}) => {
Vue.component(createNamespace$1('image-render', {
prefix: options.prefix
- }), __vue_component__$5u);
+ }), __vue_component__$5o);
};
//
@@ -32566,7 +32566,7 @@ __vue_component__$5u.install = (Vue, options = {}) => {
//
// import "../block.scss"
-var script$5t = {
+var script$5n = {
name: 'xmlHtmlRender',
components: {},
props: {
@@ -32690,10 +32690,10 @@ var script$5t = {
};
/* script */
-const __vue_script__$5t = script$5t;
+const __vue_script__$5n = script$5n;
/* template */
-var __vue_render__$5t = function () {
+var __vue_render__$5n = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -32904,17 +32904,17 @@ var __vue_render__$5t = function () {
]
)
};
-var __vue_staticRenderFns__$5t = [];
-__vue_render__$5t._withStripped = true;
+var __vue_staticRenderFns__$5n = [];
+__vue_render__$5n._withStripped = true;
/* style */
- const __vue_inject_styles__$5t = undefined;
+ const __vue_inject_styles__$5n = undefined;
/* scoped */
- const __vue_scope_id__$5t = undefined;
+ const __vue_scope_id__$5n = undefined;
/* module identifier */
- const __vue_module_identifier__$5t = undefined;
+ const __vue_module_identifier__$5n = undefined;
/* functional template */
- const __vue_is_functional_template__$5t = false;
+ const __vue_is_functional_template__$5n = false;
/* style inject */
/* style inject SSR */
@@ -32923,23 +32923,23 @@ __vue_render__$5t._withStripped = true;
- const __vue_component__$5t = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5t, staticRenderFns: __vue_staticRenderFns__$5t },
- __vue_inject_styles__$5t,
- __vue_script__$5t,
- __vue_scope_id__$5t,
- __vue_is_functional_template__$5t,
- __vue_module_identifier__$5t,
+ const __vue_component__$5n = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5n, staticRenderFns: __vue_staticRenderFns__$5n },
+ __vue_inject_styles__$5n,
+ __vue_script__$5n,
+ __vue_scope_id__$5n,
+ __vue_is_functional_template__$5n,
+ __vue_module_identifier__$5n,
false,
undefined,
undefined,
undefined
);
-__vue_component__$5t.install = (Vue, options = {}) => {
+__vue_component__$5n.install = (Vue, options = {}) => {
Vue.component(createNamespace$1('html-render', {
prefix: options.prefix
- }), __vue_component__$5t);
+ }), __vue_component__$5n);
};
//
@@ -32989,7 +32989,7 @@ __vue_component__$5t.install = (Vue, options = {}) => {
//
// import '../block.scss'
-var script$5s = {
+var script$5m = {
name: 'XmlCatalogRender',
components: {},
inject: ['getCatalogList'],
@@ -33107,9 +33107,9 @@ var script$5s = {
};
/* script */
-const __vue_script__$5s = script$5s;
+const __vue_script__$5m = script$5m;
/* template */
-var __vue_render__$5s = function () {
+var __vue_render__$5m = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -33168,17 +33168,17 @@ var __vue_render__$5s = function () {
1
)
};
-var __vue_staticRenderFns__$5s = [];
-__vue_render__$5s._withStripped = true;
+var __vue_staticRenderFns__$5m = [];
+__vue_render__$5m._withStripped = true;
/* style */
- const __vue_inject_styles__$5s = undefined;
+ const __vue_inject_styles__$5m = undefined;
/* scoped */
- const __vue_scope_id__$5s = "data-v-61c986fa";
+ const __vue_scope_id__$5m = "data-v-a4248782";
/* module identifier */
- const __vue_module_identifier__$5s = undefined;
+ const __vue_module_identifier__$5m = undefined;
/* functional template */
- const __vue_is_functional_template__$5s = false;
+ const __vue_is_functional_template__$5m = false;
/* style inject */
/* style inject SSR */
@@ -33187,13 +33187,13 @@ __vue_render__$5s._withStripped = true;
- const __vue_component__$5s = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5s, staticRenderFns: __vue_staticRenderFns__$5s },
- __vue_inject_styles__$5s,
- __vue_script__$5s,
- __vue_scope_id__$5s,
- __vue_is_functional_template__$5s,
- __vue_module_identifier__$5s,
+ const __vue_component__$5m = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5m, staticRenderFns: __vue_staticRenderFns__$5m },
+ __vue_inject_styles__$5m,
+ __vue_script__$5m,
+ __vue_scope_id__$5m,
+ __vue_is_functional_template__$5m,
+ __vue_module_identifier__$5m,
false,
undefined,
undefined,
@@ -33201,10 +33201,10 @@ __vue_render__$5s._withStripped = true;
);
// 提交
-__vue_component__$5s.install = (Vue, options = {}) => {
+__vue_component__$5m.install = (Vue, options = {}) => {
Vue.component(createNamespace$1('catalog-render', {
prefix: options.prefix
- }), __vue_component__$5s);
+ }), __vue_component__$5m);
};
//
@@ -33327,7 +33327,7 @@ __vue_component__$5s.install = (Vue, options = {}) => {
//
//
-var script$5r = {
+var script$5l = {
name: 'XmlTextDialogRender',
props: {
content: {
@@ -33389,8 +33389,8 @@ var script$5r = {
var __$_require_static_images_leaflet_icons_scroll_png__ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAAPCAYAAAChtYCSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjkxMUYzODUxMkZFMTFFRThGNzY5QzE0NjRGQzZERjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjkxMUYzODYxMkZFMTFFRThGNzY5QzE0NjRGQzZERjciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCOTExRjM4MzEyRkUxMUVFOEY3NjlDMTQ2NEZDNkRGNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCOTExRjM4NDEyRkUxMUVFOEY3NjlDMTQ2NEZDNkRGNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pgx/R5cAAAJ7SURBVHja7JpPaNNQHMe/L03TbuqUiehlKv456EE8KV5Ehn/Ag3/w4k1PXibuIljcwIKCiiAoO+lFRRARke2qKCh69KLzNIYbKG6Msbaza9o0z99LGywleYngpenvA1/ya36/95L8ml9e8hJz7Gw/dBzJvfTNa6QcKQuG6VwqpNuk/OtbZyKDTdIQaZh0ivStPSCVtnxzhJTm/DIdjrrAX1UFoonZT3pGuiNoBCmSsYZUJ82EtThx4+02zi2TFCZGB6dDXCnSlqZdNJvF4TtCiyCTXcVZZZJEnAt+nxm3N6tnNaeU6TpiF0gmywXCdGGBbNp5AFIKzE19AoQBq3cdhBAkdcclyecCroRl/Z28ki0diIBOZYtPhsRE9SVDfreujxsDTRtothlnvS4PUQT1234MQccYN7e6PsNyjojcIaCt1OxPnP//f+Quat/b2/b0bWzYdReuW/XOd8NMo2aX4dgl9A/sgZASojA/KyulRbwYGcSx4cfYvu84yoV5SNelxg7qTpVUw/rNu/hywiSGpZ9TSJkWYKS8AUEVR+/aDViYmcTz3EEcHXqIgb2HYH4eH4PZnMqdfPMEP75+gF0pwa051JaqykjTKCJx+OI9ziqTGD4+vU7ntuEViEGieyVvuVJY8PyzX95jefEX1DRvYzQStJDhg92FR985q0xieHB+6z8+pEv9naBdLnBWme57SI8baFeKnC2mKwtkmeTP4c6RfgcFOnaZ36QzSWJa41Nv0tU07pJ6BrlExmXSOdK79siT+Ve+WQV/i8UkgxrJGs+fDvPvJk2Q7qoR5H5TgTi1Fd+8SbpCynB+mQ7GRuNrXh3qo90dyvgjwAA2ZLfYDdkYOgAAAABJRU5ErkJggg==";
/* script */
-const __vue_script__$5r = script$5r;
-var __vue_render__$5r = function () {
+const __vue_script__$5l = script$5l;
+var __vue_render__$5l = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -33497,7 +33497,7 @@ var __vue_render__$5r = function () {
: _vm._e(),
])
};
-var __vue_staticRenderFns__$5r = [
+var __vue_staticRenderFns__$5l = [
function () {
var _vm = this;
var _h = _vm.$createElement;
@@ -33543,16 +33543,16 @@ var __vue_staticRenderFns__$5r = [
])
},
];
-__vue_render__$5r._withStripped = true;
+__vue_render__$5l._withStripped = true;
/* style */
- const __vue_inject_styles__$5r = undefined;
+ const __vue_inject_styles__$5l = undefined;
/* scoped */
- const __vue_scope_id__$5r = "data-v-0994a01b";
+ const __vue_scope_id__$5l = "data-v-73d8b7a0";
/* module identifier */
- const __vue_module_identifier__$5r = undefined;
+ const __vue_module_identifier__$5l = undefined;
/* functional template */
- const __vue_is_functional_template__$5r = false;
+ const __vue_is_functional_template__$5l = false;
/* style inject */
/* style inject SSR */
@@ -33561,13 +33561,13 @@ __vue_render__$5r._withStripped = true;
- const __vue_component__$5r = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5r, staticRenderFns: __vue_staticRenderFns__$5r },
- __vue_inject_styles__$5r,
- __vue_script__$5r,
- __vue_scope_id__$5r,
- __vue_is_functional_template__$5r,
- __vue_module_identifier__$5r,
+ const __vue_component__$5l = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5l, staticRenderFns: __vue_staticRenderFns__$5l },
+ __vue_inject_styles__$5l,
+ __vue_script__$5l,
+ __vue_scope_id__$5l,
+ __vue_is_functional_template__$5l,
+ __vue_module_identifier__$5l,
false,
undefined,
undefined,
@@ -33764,1441 +33764,1083 @@ var recorder_mp3_min = createCommonjsModule(function (module) {
https://github.com/xiangyuecn/Recorder
src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
*/
-!function (e) {
- var t = "object" == typeof window && !!window.document,
- a = t ? window : Object;
- !function (e, w) {
+!function (y) {
- var S = function () {},
- f = function (e) {
- return "number" == typeof e;
- },
- N = function (e) {
- return new l(e);
- },
- M = N.LM = "2024-04-09 19:15",
- y = "https://github.com/xiangyuecn/Recorder",
- R = "Recorder",
- A = "getUserMedia",
- V = "srcSampleRate",
- D = "sampleRate",
- i = "bitRate",
- x = "catch",
- t = e[R];
- if (t && t.LM == M) return t.CLog(t.i18n.$T("K8zP::重复导入{1}", 0, R), 3);
- N.IsOpen = function () {
- var e = N.Stream;
- if (e) {
- var t = e.getTracks && e.getTracks() || e.audioTracks || [],
- a = t[0];
- if (a) {
- var n = a.readyState;
- return "live" == n || n == a.LIVE;
- }
- }
- return !1;
- }, N.BufferSize = 4096, N.Destroy = function () {
- for (var e in O(R + " Destroy"), L(), a) a[e]();
+ var v = function () {},
+ V = function (e) {
+ return new t(e);
};
- var a = {};
- N.BindDestroy = function (e, t) {
- a[e] = t;
- }, N.Support = function () {
- if (!w) return !1;
- var e = navigator.mediaDevices || {};
- return e[A] || (e = navigator)[A] || (e[A] = e.webkitGetUserMedia || e.mozGetUserMedia || e.msGetUserMedia), !!e[A] && (N.Scope = e, !!N.GetContext());
- }, N.GetContext = function (e) {
- if (!w) return null;
- var t = window.AudioContext;
- if (t || (t = window.webkitAudioContext), !t) return null;
- var a = N.Ctx;
- if (a && "closed" != a.state || (a = N.Ctx = new t(), N.NewCtxs = N.NewCtxs || [], N.BindDestroy("Ctx", function () {
- var e = N.Ctx;
- e && e.close && (s(e), N.Ctx = 0);
- var t = N.NewCtxs;
- N.NewCtxs = [];
- for (var a = 0; a < t.length; a++) s(t[a]);
- })), e && a.close) try {
- a = new t(), N.NewCtxs.push(a);
- } catch (e) {
- O("GetContext tryNew Error", 1, e);
+ V.LM = "2023-02-01 18:05";
+ var T = "Recorder",
+ d = "getUserMedia",
+ O = "srcSampleRate",
+ N = "sampleRate",
+ x = "catch";
+ V.IsOpen = function () {
+ var e = V.Stream;
+ if (e) {
+ var t = e.getTracks && e.getTracks() || e.audioTracks || [],
+ a = t[0];
+ if (a) {
+ var s = a.readyState;
+ return "live" == s || s == a.LIVE;
}
- return a;
- }, N.CloseNewCtx = function (e) {
- if (e && e != N.Ctx) {
- s(e);
- for (var t = N.NewCtxs || [], a = t.length, n = 0; n < t.length; n++) if (t[n] == e) {
- t.splice(n, 1);
- break;
- }
- O(z("mSxV::剩{1}个GetContext未close", 0, a + "-1=" + t.length), t.length ? 3 : 0);
- }
- };
- var s = function (e) {
- if (e && e.close) {
- e._isC = 1;
- try {
- e.close();
- } catch (e) {
- O("ctx close err", 1, e);
- }
- }
- },
- B = N.ResumeCtx = function (a, n, s, r) {
- var i = 0,
- o = 0,
- _ = 0,
- l = 0,
- f = "EventListener",
- c = "ResumeCtx ",
- u = function (e, t) {
- o && h(), i || (i = 1, e && r(e, l), t && s(l)), t && (!a._LsSC && a["add" + f] && a["add" + f]("statechange", b), a._LsSC = 1, _ = 1);
- },
- h = function (e) {
- if (!e || !o) {
- o = e ? 1 : 0;
- for (var t = ["focus", "mousedown", "mouseup", "touchstart", "touchend"], a = 0; a < t.length; a++) window[(e ? "add" : "remove") + f](t[a], b, !0);
- }
- },
- b = function () {
- var e = a.state,
- t = p(e);
- if (!i && !n(t ? ++l : l)) return u();
- t ? (_ && O(c + "sc " + e, 3), h(1), a.resume().then(function () {
- _ && O(c + "sc " + a.state), u(0, 1);
- })[x](function (e) {
- O(c + "error", 1, e), p(a.state) || u(e.message || "error");
- })) : "closed" == e ? (_ && !a._isC && O(c + "sc " + e, 1), u("ctx closed")) : u(0, 1);
- };
- b();
- },
- p = N.CtxSpEnd = function (e) {
- return "suspended" == e || "interrupted" == e;
- },
- k = function (e) {
- var t = e.state,
- a = "ctx.state=" + t;
- return p(t) && (a += z("nMIy::(注意:ctx不是running状态,rec.open和start至少要有一个在用户操作(触摸、点击等)时进行调用,否则将在rec.start时尝试进行ctx.resume,可能会产生兼容性问题(仅iOS),请参阅文档中runningContext配置)")), a;
- },
- T = "ConnectEnableWebM";
- N[T] = !0;
- var E = "ConnectEnableWorklet";
- N[E] = !1;
- var C = function (e, _) {
- var l = e.BufferSize || N.BufferSize,
- f = e.Stream,
- c = f._RC || f._c || N.GetContext(!0);
- f._c = c;
- var u,
- a,
- h,
- i = function (e) {
- var t = f._m = c.createMediaStreamSource(f),
- a = c.destination,
- n = "createMediaStreamDestination";
- c[n] && (a = f._d = c[n]()), t.connect(e), e.connect(a);
- },
- b = "",
- p = f._call,
- m = function (e) {
- for (var t in p) {
- for (var a = e.length, n = new Int16Array(a), s = 0, r = 0; r < a; r++) {
- var i = Math.max(-1, Math.min(1, e[r]));
- i = i < 0 ? 32768 * i : 32767 * i, n[r] = i, s += Math.abs(i);
- }
- for (var o in p) p[o](n, s);
- return;
- }
- },
- v = "ScriptProcessor",
- d = "audioWorklet",
- o = R + " " + d,
- g = "RecProc",
- w = "MediaRecorder",
- S = w + ".WebM.PCM",
- M = c.createScriptProcessor || c.createJavaScriptNode,
- y = z("ZGlf::。由于{1}内部1秒375次回调,在移动端可能会有性能问题导致回调丢失录音变短,PC端无影响,暂不建议开启{1}。", 0, d),
- A = function () {
- a = f.isWorklet = !1, n(f), O(z("7TU0::Connect采用老的{1},", 0, v) + Y.get(z(N[E] ? "JwCL::但已设置{1}尝试启用{2}" : "VGjB::可设置{1}尝试启用{2}", 2), [R + "." + E + "=true", d]) + b + y, 3);
- var e = f._p = M.call(c, l, 1, 1);
- i(e), e.onaudioprocess = function (e) {
- var t = e.inputBuffer.getChannelData(0);
- m(t);
- };
- },
- k = function () {
- u = f.isWebM = !1, I(f), a = f.isWorklet = !M || N[E];
- var t = window.AudioWorkletNode;
- if (a && c[d] && t) {
- var n = function () {
- return a && f._na;
- },
- s = f._na = function () {
- "" !== h && (clearTimeout(h), h = setTimeout(function () {
- h = 0, n() && (O(z("MxX1::{1}未返回任何音频,恢复使用{2}", 0, d, v), 3), M && A());
- }, 500));
- },
- r = function () {
- if (n()) {
- var e = f._n = new t(c, g, {
- processorOptions: {
- bufferSize: l
- }
- });
- i(e), e.port.onmessage = function (e) {
- h && (clearTimeout(h), h = ""), n() ? m(e.data.val) : a || O(z("XUap::{1}多余回调", 0, d), 3);
- }, O(z("yOta::Connect采用{1},设置{2}可恢复老式{3}", 0, d, R + "." + E + "=false", v) + b + y, 3);
- }
- },
- e = function () {
- if (n()) if (c[g]) r();else {
- var e,
- t,
- a = (t = "class " + g + " extends AudioWorkletProcessor{", t += "constructor " + (e = function (e) {
- return e.toString().replace(/^function|DEL_/g, "").replace(/\$RA/g, o);
- })(function (e) {
- DEL_super(e);
- var t = this,
- a = e.processorOptions.bufferSize;
- t.bufferSize = a, t.buffer = new Float32Array(2 * a), t.pos = 0, t.port.onmessage = function (e) {
- e.data.kill && (t.kill = !0, $C.log("$RA kill call"));
- }, $C.log("$RA .ctor call", e);
- }), t += "process " + e(function (e, t, a) {
- var n = this,
- s = n.bufferSize,
- r = n.buffer,
- i = n.pos;
- if ((e = (e[0] || [])[0] || []).length) {
- r.set(e, i);
- var o = ~~((i += e.length) / s) * s;
- if (o) {
- this.port.postMessage({
- val: r.slice(0, o)
- });
- var _ = r.subarray(o, i);
- (r = new Float32Array(2 * s)).set(_), i = _.length, n.buffer = r;
- }
- n.pos = i;
- }
- return !n.kill;
- }), t = (t += '}try{registerProcessor("' + g + '", ' + g + ')}catch(e){$C.error("' + o + ' Reg Error",e)}').replace(/\$C\./g, "console."), "data:text/javascript;base64," + btoa(unescape(encodeURIComponent(t))));
- c[d].addModule(a).then(function (e) {
- n() && (c[g] = 1, r(), h && s());
- })[x](function (e) {
- O(d + ".addModule Error", 1, e), n() && A();
- });
- }
- };
- B(c, function () {
- return n();
- }, e, e);
- } else A();
- };
- !function () {
- var e = window[w],
- t = "ondataavailable",
- a = "audio/webm; codecs=pcm";
- u = f.isWebM = N[T];
- var n = e && t in e.prototype && e.isTypeSupported(a);
- if (b = n ? "" : z("VwPd::(此浏览器不支持{1})", 0, S), !_ || !u || !n) return k();
- var s = function () {
- return u && f._ra;
- },
- r = (f._ra = function () {
- "" !== h && (clearTimeout(h), h = setTimeout(function () {
- s() && (O(z("vHnb::{1}未返回任何音频,降级使用{2}", 0, w, d), 3), k());
- }, 500));
- }, Object.assign({
- mimeType: a
- }, N.ConnectWebMOptions)),
- i = f._r = new e(f, r),
- o = f._rd = {
- sampleRate: c[D]
- };
- i[t] = function (e) {
- var t = new FileReader();
- t.onloadend = function () {
- if (s()) {
- var e = P(new Uint8Array(t.result), o);
- if (!e) return;
- if (-1 == e) return void k();
- h && (clearTimeout(h), h = ""), m(e);
- } else u || O(z("O9P7::{1}多余回调", 0, w), 3);
- }, t.readAsArrayBuffer(e.data);
- }, i.start(~~(l / 48)), O(z("LMEm::Connect采用{1},设置{2}可恢复使用{3}或老式{4}", 0, S, R + "." + T + "=false", d, v));
- }();
- },
- r = function (e) {
- e._na && e._na(), e._ra && e._ra();
- },
- n = function (e) {
- e._na = null, e._n && (e._n.port.postMessage({
- kill: !0
- }), e._n.disconnect(), e._n = null);
- },
- I = function (e) {
- if (e._ra = null, e._r) {
- try {
- e._r.stop();
- } catch (e) {
- O("mr stop err", 1, e);
- }
- e._r = null;
- }
- },
- L = function (e) {
- var t = (e = e || N) == N,
- a = e.Stream;
- a && (a._m && (a._m.disconnect(), a._m = null), !a._RC && a._c && N.CloseNewCtx(a._c), a._RC = null, a._c = null, a._d && (o(a._d.stream), a._d = null), a._p && (a._p.disconnect(), a._p.onaudioprocess = a._p = null), n(a), I(a), t && o(a)), e.Stream = 0;
- },
- o = N.StopS_ = function (e) {
- for (var t = e.getTracks && e.getTracks() || e.audioTracks || [], a = 0; a < t.length; a++) {
- var n = t[a];
- n.stop && n.stop();
- }
- e.stop && e.stop();
- };
- N.SampleData = function (e, t, a, n, s) {
- var r = "SampleData";
- n || (n = {});
- var i = n.index || 0,
- o = n.offset || 0,
- _ = n.filter;
- if (_ && _.fn && _.sr != t && (_ = null, O(z("d48C::{1}的filter采样率变了,重设滤波", 0, r), 3)), !_) {
- var l = 3 * t / 4 < a ? 0 : a / 2 * 3 / 4;
- _ = {
- fn: l ? N.IIRFilter(!0, t, l) : 0
- };
- }
- _.sr = t;
- var f = _.fn,
- c = n.frameNext || [];
- s || (s = {});
- var u = s.frameSize || 1;
- s.frameType && (u = "mp3" == s.frameType ? 1152 : 1);
- var h = e.length;
- h + 1 < i && O(z("tlbC::{1}似乎传入了未重置chunk {2}", 0, r, i + ">" + h), 3);
- for (var b = 0, p = i; p < h; p++) b += e[p].length;
- b = Math.max(0, b - Math.floor(o));
- var m = t / a;
- 1 < m ? b = Math.floor(b / m) : (m = 1, a = t), b += c.length;
- for (var v = new Int16Array(b), d = 0, p = 0; p < c.length; p++) v[d] = c[p], d++;
- for (; i < h; i++) {
- for (var g = e[i], p = o, w = g.length, S = f && f.Embed, M = 0, y = 0, A = 0, k = 0, R = 0, x = 0; R < w; R++, x++) if (x < w && (S ? (A = g[x], k = S.b0 * A + S.b1 * S.x1 + S.b0 * S.x2 - S.a1 * S.y1 - S.a2 * S.y2, S.x2 = S.x1, S.x1 = A, S.y2 = S.y1, S.y1 = k) : k = f ? f(g[x]) : g[x]), M = y, y = k, 0 != x) {
- var B = Math.floor(p);
- if (R == B) {
- var T = Math.ceil(p),
- E = p - B,
- C = M,
- I = T < w ? y : C,
- L = C + (I - C) * E;
- 32767 < L ? L = 32767 : L < -32768 && (L = -32768), v[d] = L, d++, p += m;
- }
- } else R--;
- o = Math.max(0, p - w);
- }
- c = null;
- var P = v.length % u;
- if (0 < P) {
- var H = 2 * (v.length - P);
- c = new Int16Array(v.buffer.slice(H)), v = new Int16Array(v.buffer.slice(0, H));
- }
- return {
- index: i,
- offset: o,
- filter: _,
- frameNext: c,
- sampleRate: a,
- data: v
- };
- }, N.IIRFilter = function (e, t, a) {
- var n = 2 * Math.PI * a / t,
- s = Math.sin(n),
- r = Math.cos(n),
- i = s / 2,
- o = 1 + i,
- _ = -2 * r / o,
- l = (1 - i) / o;
- if (e) var f = (1 - r) / 2 / o,
- c = (1 - r) / o;else var f = (1 + r) / 2 / o,
- c = -(1 + r) / o;
- var u = 0,
- h = 0,
- b = 0,
- p = 0,
- m = 0,
- v = function (e) {
- return b = f * e + c * u + f * h - _ * p - l * m, h = u, u = e, m = p, p = b;
- };
- return v.Embed = {
- x1: 0,
- x2: 0,
- y1: 0,
- y2: 0,
- b0: f,
- b1: c,
- a1: _,
- a2: l
- }, v;
- }, N.PowerLevel = function (e, t) {
- var a = e / t || 0;
- return a < 1251 ? Math.round(a / 1250 * 10) : Math.round(Math.min(100, Math.max(0, 100 * (1 + Math.log(a / 1e4) / Math.log(10)))));
- }, N.PowerDBFS = function (e) {
- var t = Math.max(.1, e || 0);
- return t = Math.min(t, 32767), t = 20 * Math.log(t / 32767) / Math.log(10), Math.max(-100, Math.round(t));
- }, N.CLog = function (e, t) {
- if ("object" == typeof console) {
- var a = new Date(),
- n = ("0" + a.getMinutes()).substr(-2) + ":" + ("0" + a.getSeconds()).substr(-2) + "." + ("00" + a.getMilliseconds()).substr(-3),
- s = this && this.envIn && this.envCheck && this.id,
- r = ["[" + n + " " + R + (s ? ":" + s : "") + "]" + e],
- i = arguments,
- o = N.CLog,
- _ = 2,
- l = o.log || console.log;
- for (f(t) ? l = 1 == t ? o.error || console.error : 3 == t ? o.warn || console.warn : l : _ = 1; _ < i.length; _++) r.push(i[_]);
- c ? l && l("[IsLoser]" + r[0], 1 < r.length ? r : "") : l.apply(console, r);
- }
- };
- var O = function () {
- N.CLog.apply(this, arguments);
- },
- c = !0;
- try {
- c = !console.log.apply;
- } catch (e) {}
- var _ = 0;
- function l(e) {
- var t = this;
- t.id = ++_, u();
- var a = {
- type: "mp3",
- onProcess: S
- };
- for (var n in e) a[n] = e[n];
- var s = (t.set = a)[i],
- r = a[D];
- (s && !f(s) || r && !f(r)) && t.CLog(z.G("IllegalArgs-1", [z("VtS4::{1}和{2}必须是数值", 0, D, i)]), 1, e), a[i] = +s || 16, a[D] = +r || 16e3, t.state = 0, t._S = 9, t.Sync = {
- O: 9,
- C: 9
- };
}
- N.Sync = {
+ return !1;
+ }, V.BufferSize = 4096, V.Destroy = function () {
+ for (var e in H(T + " Destroy"), S(), a) a[e]();
+ };
+ var a = {};
+ V.BindDestroy = function (e, t) {
+ a[e] = t;
+ }, V.Support = function () {
+ var e = navigator.mediaDevices || {};
+ return e[d] || (e = navigator)[d] || (e[d] = e.webkitGetUserMedia || e.mozGetUserMedia || e.msGetUserMedia), !!e[d] && (V.Scope = e, !!V.GetContext());
+ }, V.GetContext = function () {
+ var e = y.AudioContext;
+ return e || (e = y.webkitAudioContext), e ? (V.Ctx && "closed" != V.Ctx.state || (V.Ctx = new e(), V.BindDestroy("Ctx", function () {
+ var e = V.Ctx;
+ e && e.close && (e.close(), V.Ctx = 0);
+ })), V.Ctx) : null;
+ };
+ var E = "ConnectEnableWebM";
+ V[E] = !0;
+ var P = "ConnectEnableWorklet";
+ V[P] = !1;
+ var g = function (e, _) {
+ var l,
+ i,
+ f,
+ c = e.BufferSize || V.BufferSize,
+ h = V.Ctx,
+ u = e.Stream,
+ o = function (e) {
+ var t = u._m = h.createMediaStreamSource(u),
+ a = h.destination,
+ s = "createMediaStreamDestination";
+ h[s] && (a = h[s]()), t.connect(e), e.connect(a);
+ },
+ m = "",
+ p = u._call,
+ b = function (e) {
+ for (var t in p) {
+ for (var a = e.length, s = new Int16Array(a), n = 0, r = 0; r < a; r++) {
+ var i = Math.max(-1, Math.min(1, e[r]));
+ i = i < 0 ? 32768 * i : 32767 * i, s[r] = i, n += Math.abs(i);
+ }
+ for (var o in p) p[o](s, n);
+ return;
+ }
+ },
+ v = "ScriptProcessor",
+ d = "audioWorklet",
+ g = T + " " + d,
+ S = "RecProc",
+ M = "MediaRecorder",
+ w = M + ".WebM.PCM",
+ R = h.createScriptProcessor || h.createJavaScriptNode,
+ A = "。由于" + d + "内部1秒375次回调,在移动端可能会有性能问题导致回调丢失录音变短,PC端无影响,暂不建议开启" + d + "。",
+ B = function () {
+ i = u.isWorklet = !1, L(u), H("Connect采用老的" + v + "," + (V[P] ? "但已" : "可") + "设置" + T + "." + P + "=true尝试启用" + d + m + A, 3);
+ var e = u._p = R.call(h, c, 1, 1);
+ o(e);
+ var t = "_D220626",
+ a = V[t];
+ a && H("Use " + T + "." + t, 3), e.onaudioprocess = function (e) {
+ var t = e.inputBuffer.getChannelData(0);
+ a ? (t = new Float32Array(t), setTimeout(function () {
+ b(t);
+ })) : b(t);
+ };
+ },
+ k = function () {
+ l = u.isWebM = !1, I(u), i = u.isWorklet = !R || V[P];
+ var t = y.AudioWorkletNode;
+ if (i && h[d] && t) {
+ var s = function () {
+ return i && u._na;
+ },
+ n = u._na = function () {
+ "" !== f && (clearTimeout(f), f = setTimeout(function () {
+ f = 0, s() && (H(d + "未返回任何音频,恢复使用" + v, 3), R && B());
+ }, 500));
+ },
+ r = function () {
+ if (s()) {
+ var e = u._n = new t(h, S, {
+ processorOptions: {
+ bufferSize: c
+ }
+ });
+ o(e), e.port.onmessage = function (e) {
+ f && (clearTimeout(f), f = ""), s() ? b(e.data.val) : i || H(d + "多余回调", 3);
+ }, H("Connect采用" + d + ",设置" + T + "." + P + "=false可恢复老式" + v + m + A, 3);
+ }
+ };
+ h.resume()[p && "finally"](function () {
+ if (s()) if (h[S]) r();else {
+ var e,
+ t,
+ a = (t = "class " + S + " extends AudioWorkletProcessor{", t += "constructor " + (e = function (e) {
+ return e.toString().replace(/^function|DEL_/g, "").replace(/\$RA/g, g);
+ })(function (e) {
+ DEL_super(e);
+ var t = this,
+ a = e.processorOptions.bufferSize;
+ t.bufferSize = a, t.buffer = new Float32Array(2 * a), t.pos = 0, t.port.onmessage = function (e) {
+ e.data.kill && (t.kill = !0, console.log("$RA kill call"));
+ }, console.log("$RA .ctor call", e);
+ }), t += "process " + e(function (e, t, a) {
+ var s = this,
+ n = s.bufferSize,
+ r = s.buffer,
+ i = s.pos;
+ if ((e = (e[0] || [])[0] || []).length) {
+ r.set(e, i);
+ var o = ~~((i += e.length) / n) * n;
+ if (o) {
+ this.port.postMessage({
+ val: r.slice(0, o)
+ });
+ var _ = r.subarray(o, i);
+ (r = new Float32Array(2 * n)).set(_), i = _.length, s.buffer = r;
+ }
+ s.pos = i;
+ }
+ return !s.kill;
+ }), t += '}try{registerProcessor("' + S + '", ' + S + ')}catch(e){console.error("' + g + '注册失败",e)}', "data:text/javascript;base64," + btoa(unescape(encodeURIComponent(t))));
+ h[d].addModule(a).then(function (e) {
+ s() && (h[S] = 1, r(), f && n());
+ })[x](function (e) {
+ H(d + ".addModule失败", 1, e), s() && B();
+ });
+ }
+ });
+ } else B();
+ };
+ !function () {
+ var e = y[M],
+ t = "ondataavailable",
+ a = "audio/webm; codecs=pcm";
+ l = u.isWebM = V[E];
+ var s = e && t in e.prototype && e.isTypeSupported(a);
+ if (m = s ? "" : "(此浏览器不支持" + w + ")", !_ || !l || !s) return k();
+ var n = function () {
+ return l && u._ra;
+ },
+ r = (u._ra = function () {
+ "" !== f && (clearTimeout(f), f = setTimeout(function () {
+ n() && (H(M + "未返回任何音频,降级使用" + d, 3), k());
+ }, 500));
+ }, Object.assign({
+ mimeType: a
+ }, V.ConnectWebMOptions)),
+ i = u._r = new e(u, r),
+ o = u._rd = {
+ sampleRate: h[N]
+ };
+ i[t] = function (e) {
+ var t = new FileReader();
+ t.onloadend = function () {
+ if (n()) {
+ var e = C(new Uint8Array(t.result), o);
+ if (!e) return;
+ if (-1 == e) return void k();
+ f && (clearTimeout(f), f = ""), b(e);
+ } else l || H(M + "多余回调", 3);
+ }, t.readAsArrayBuffer(e.data);
+ }, i.start(~~(c / 48)), H("Connect采用" + w + ",设置" + T + "." + E + "=false可恢复使用" + d + "或老式" + v);
+ }();
+ },
+ L = function (e) {
+ e._na = null, e._n && (e._n.port.postMessage({
+ kill: !0
+ }), e._n.disconnect(), e._n = null);
+ },
+ I = function (e) {
+ e._ra = null, e._r && (e._r.stop(), e._r = null);
+ },
+ S = function (e) {
+ var t = (e = e || V) == V,
+ a = e.Stream;
+ if (a && (a._m && (a._m.disconnect(), a._m = null), a._p && (a._p.disconnect(), a._p.onaudioprocess = a._p = null), L(a), I(a), t)) {
+ for (var s = a.getTracks && a.getTracks() || a.audioTracks || [], n = 0; n < s.length; n++) {
+ var r = s[n];
+ r.stop && r.stop();
+ }
+ a.stop && a.stop();
+ }
+ e.Stream = 0;
+ };
+ V.SampleData = function (e, t, a, s, n) {
+ s || (s = {});
+ var r = s.index || 0,
+ i = s.offset || 0,
+ o = s.frameNext || [];
+ n || (n = {});
+ var _ = n.frameSize || 1;
+ n.frameType && (_ = "mp3" == n.frameType ? 1152 : 1);
+ var l = e.length;
+ l + 1 < r && H("SampleData似乎传入了未重置chunk " + r + ">" + l, 3);
+ for (var f = 0, c = r; c < l; c++) f += e[c].length;
+ f = Math.max(0, f - Math.floor(i));
+ var h = t / a;
+ 1 < h ? f = Math.floor(f / h) : (h = 1, a = t), f += o.length;
+ for (var u = new Int16Array(f), m = 0, c = 0; c < o.length; c++) u[m] = o[c], m++;
+ for (; r < l; r++) {
+ for (var p = e[r], c = i, b = p.length; c < b;) {
+ var v = Math.floor(c),
+ d = Math.ceil(c),
+ g = c - v,
+ S = p[v],
+ M = d < b ? p[d] : (e[r + 1] || [S])[0] || 0;
+ u[m] = S + (M - S) * g, m++, c += h;
+ }
+ i = c - b;
+ }
+ o = null;
+ var w = u.length % _;
+ if (0 < w) {
+ var R = 2 * (u.length - w);
+ o = new Int16Array(u.buffer.slice(R)), u = new Int16Array(u.buffer.slice(0, R));
+ }
+ return {
+ index: r,
+ offset: i,
+ frameNext: o,
+ sampleRate: a,
+ data: u
+ };
+ }, V.PowerLevel = function (e, t) {
+ var a = e / t || 0;
+ return a < 1251 ? Math.round(a / 1250 * 10) : Math.round(Math.min(100, Math.max(0, 100 * (1 + Math.log(a / 1e4) / Math.log(10)))));
+ }, V.PowerDBFS = function (e) {
+ var t = Math.max(.1, e || 0);
+ return t = Math.min(t, 32767), t = 20 * Math.log(t / 32767) / Math.log(10), Math.max(-100, Math.round(t));
+ }, V.CLog = function (e, t) {
+ var a = new Date(),
+ s = ("0" + a.getMinutes()).substr(-2) + ":" + ("0" + a.getSeconds()).substr(-2) + "." + ("00" + a.getMilliseconds()).substr(-3),
+ n = this && this.envIn && this.envCheck && this.id,
+ r = ["[" + s + " " + T + (n ? ":" + n : "") + "]" + e],
+ i = arguments,
+ o = y.console || {},
+ _ = 2,
+ l = o.log;
+ for ("number" == typeof t ? l = 1 == t ? o.error : 3 == t ? o.warn : l : _ = 1; _ < i.length; _++) r.push(i[_]);
+ f ? l && l("[IsLoser]" + r[0], 1 < r.length ? r : "") : l.apply(o, r);
+ };
+ var H = function () {
+ V.CLog.apply(this, arguments);
+ },
+ f = !0;
+ try {
+ f = !console.log.apply;
+ } catch (e) {}
+ var s = 0;
+ function t(e) {
+ this.id = ++s, r();
+ var t = {
+ type: "mp3",
+ bitRate: 16,
+ sampleRate: 16e3,
+ onProcess: v
+ };
+ for (var a in e) t[a] = e[a];
+ this.set = t, this._S = 9, this.Sync = {
O: 9,
C: 9
- }, N.prototype = l.prototype = {
- CLog: O,
- _streamStore: function () {
- return this.set.sourceStream ? this : N;
- },
- _streamCtx: function () {
- var e = this._streamStore().Stream;
- return e && e._c;
- },
- open: function (e, a) {
- var n = this,
- s = n.set,
- r = n._streamStore(),
- i = 0;
- e = e || S;
- var o = function (e, t) {
- t = !!t, n.CLog(z("5tWi::录音open失败:") + e + ",isUserNotAllow:" + t, 1), i && N.CloseNewCtx(i), a && a(e, t);
- };
- n._streamTag = A;
- var _ = function () {
- n.CLog("open ok, id:" + n.id + " stream:" + n._streamTag), e(), n._SO = 0;
- },
- l = r.Sync,
- f = ++l.O,
- c = l.C;
- n._O = n._O_ = f, n._SO = n._S;
- if (w) {
- var t = n.envCheck({
- envName: "H5",
- canProcess: !0
- });
- if (t) o(z("A5bm::不能录音:") + t);else if (s.sourceStream) {
- if (n._streamTag = "set.sourceStream", !N.GetContext()) return void o(z("1iU7::不支持此浏览器从流中获取录音"));
- L(r);
- var u = n.Stream = s.sourceStream;
- u._RC = s.runningContext, u._call = {};
- try {
- C(r);
- } catch (e) {
- return L(r), void o(z("BTW2::从流中打开录音失败:") + e.message);
- }
- _();
- } else {
- var h = function (e, t) {
- try {
- window.top.a;
- } catch (e) {
- return void o(z("Nclz::无权录音(跨域,请尝试给iframe添加麦克风访问策略,如{1})", 0, 'allow="camera;microphone"'));
- }
- /Permission|Allow/i.test(e) ? o(z("gyO5::用户拒绝了录音权限"), !0) : !1 === window.isSecureContext ? o(z("oWNo::浏览器禁止不安全页面录音,可开启https解决")) : /Found/i.test(e) ? o(t + z("jBa9::,无可用麦克风")) : o(t);
- };
- if (N.IsOpen()) _();else if (N.Support()) {
- var b = s.runningContext;
- b || (b = i = N.GetContext(!0));
- var p = function (t) {
- setTimeout(function () {
- t._call = {};
- var e = N.Stream;
- e && (L(), t._call = e._call), (N.Stream = t)._c = b, t._RC = s.runningContext, function () {
- if (c != l.C || !n._O) {
- var e = z("dFm8::open被取消");
- return f == l.O ? n.close() : e = z("VtJO::open被中断"), o(e), !0;
- }
- }() || (N.IsOpen() ? (e && n.CLog(z("upb8::发现同时多次调用open"), 1), C(r, 1), _()) : o(z("Q1GA::录音功能无效:无音频流")));
- }, 100);
- },
- m = function (e) {
- var t = e.name || e.message || e.code + ":" + e;
- n.CLog(z("xEQR::请求录音权限错误"), 1, e), h(t, z("bDOG::无法录音:") + t);
- },
- v = s.audioTrackSet || {};
- v[D] = b[D];
- var d = {
- audio: v
- };
- try {
- var g = N.Scope[A](d, p, m);
- } catch (e) {
- n.CLog(A, 3, e), d = {
- audio: !0
- }, g = N.Scope[A](d, p, m);
- }
- n.CLog(A + "(" + JSON.stringify(d) + ") " + k(b) + z("RiWe::,未配置noiseSuppression和echoCancellation时浏览器可能会自动打开降噪和回声消除,移动端可能会降低系统播放音量(关闭录音后可恢复),请参阅文档中audioTrackSet配置") + "(" + y + ") LM:" + M + " UA:" + navigator.userAgent), g && g.then && g.then(p)[x](m);
- } else h("", z("COxc::此浏览器不支持录音"));
- }
- } else o(z.G("NonBrowser-1", ["open"]) + z("EMJq::,可尝试使用RecordApp解决方案") + "(" + y + "/tree/master/app-support-sample)");
- },
- close: function (e) {
- e = e || S;
- var t = this,
- a = t._streamStore();
- t._stop();
- var n = " stream:" + t._streamTag,
- s = a.Sync;
- if (t._O = 0, t._O_ != s.O) return t.CLog(z("hWVz::close被忽略(因为同时open了多个rec,只有最后一个会真正close)") + n, 3), void e();
- s.C++, L(a), t.CLog("close," + n), e();
- },
- mock: function (e, t) {
- var a = this;
- return a._stop(), a.isMock = 1, a.mockEnvInfo = null, a.buffers = [e], a.recSize = e.length, a._setSrcSR(t), a._streamTag = "mock", a;
- },
- _setSrcSR: function (e) {
- var t = this.set,
- a = t[D];
- e < a ? t[D] = e : a = 0, this[V] = e, this.CLog(V + ": " + e + " set." + D + ": " + t[D] + (a ? " " + z("UHvm::忽略") + ": " + a : ""), a ? 3 : 0);
- },
- envCheck: function (e) {
- var t,
- a = this.set,
- n = "CPU_BE";
- if (t || N[n] || "function" != typeof Int8Array || new Int8Array(new Int32Array([1]).buffer)[0] || (u(n), t = z("Essp::不支持{1}架构", 0, n)), !t) {
- var s = a.type,
- r = this[s + "_envCheck"];
- a.takeoffEncodeChunk && (r ? e.canProcess || (t = z("7uMV::{1}环境不支持实时处理", 0, e.envName)) : t = z("2XBl::{1}类型不支持设置takeoffEncodeChunk", 0, s) + (this[s] ? "" : z("LG7e::(未加载编码器)"))), !t && r && (t = this[s + "_envCheck"](e, a));
+ };
+ }
+ V.Sync = {
+ O: 9,
+ C: 9
+ }, V.prototype = t.prototype = {
+ CLog: H,
+ _streamStore: function () {
+ return this.set.sourceStream ? this : V;
+ },
+ open: function (e, a) {
+ var s = this,
+ n = s._streamStore();
+ e = e || v;
+ var r = function (e, t) {
+ t = !!t, s.CLog("录音open失败:" + e + ",isUserNotAllow:" + t, 1), a && a(e, t);
+ },
+ i = function () {
+ s.CLog("open ok id:" + s.id), e(), s._SO = 0;
+ },
+ o = n.Sync,
+ _ = ++o.O,
+ l = o.C;
+ s._O = s._O_ = _, s._SO = s._S;
+ var t = s.envCheck({
+ envName: "H5",
+ canProcess: !0
+ });
+ if (t) r("不能录音:" + t);else if (s.set.sourceStream) {
+ if (!V.GetContext()) return void r("不支持此浏览器从流中获取录音");
+ S(n), s.Stream = s.set.sourceStream, s.Stream._call = {};
+ try {
+ g(n);
+ } catch (e) {
+ return void r("从流中打开录音失败:" + e.message);
}
- return t || "";
- },
- envStart: function (e, t) {
- var a = this,
- n = a.set;
- if (a.isMock = e ? 1 : 0, a.mockEnvInfo = e, a.buffers = [], a.recSize = 0, e && (a._streamTag = "env$" + e.envName), a.state = 1, a.envInLast = 0, a.envInFirst = 0, a.envInFix = 0, a.envInFixTs = [], a._setSrcSR(t), a.engineCtx = 0, a[n.type + "_start"]) {
- var s = a.engineCtx = a[n.type + "_start"](n);
- s && (s.pcmDatas = [], s.pcmSize = 0);
- }
- },
- envResume: function () {
- this.envInFixTs = [];
- },
- envIn: function (e, t) {
- var s = this,
- r = s.set,
- i = s.engineCtx;
- if (1 == s.state) {
- var a = s[V],
- n = e.length,
- o = N.PowerLevel(t, n),
- _ = s.buffers,
- l = _.length;
- _.push(e);
- var f = _,
- c = l,
- u = Date.now(),
- h = Math.round(n / a * 1e3);
- s.envInLast = u, 1 == s.buffers.length && (s.envInFirst = u - h);
- var b = s.envInFixTs;
- b.splice(0, 0, {
- t: u,
- d: h
- });
- for (var p = u, m = 0, v = 0; v < b.length; v++) {
- var d = b[v];
- if (3e3 < u - d.t) {
- b.length = v;
- break;
- }
- p = d.t, m += d.d;
- }
- var g = b[1],
- w = u - p,
- S = w - m;
- if (w / 3 < S && (g && 1e3 < w || 6 <= b.length)) {
- var M = u - g.t - h;
- if (h / 5 < M) {
- var y = !r.disableEnvInFix;
- if (s.CLog("[" + u + "]" + Y.get(z(y ? "4Kfd::补偿{1}ms" : "bM5i::未补偿{1}ms", 1), [M]), 3), s.envInFix += M, y) {
- var A = new Int16Array(M * a / 1e3);
- n += A.length, _.push(A);
- }
- }
- }
- var k = s.recSize,
- R = n,
- x = k + R;
- if (s.recSize = x, i) {
- var B = N.SampleData(_, a, r[D], i.chunkInfo);
- i.chunkInfo = B, k = i.pcmSize, R = B.data.length, x = k + R, i.pcmSize = x, _ = i.pcmDatas, l = _.length, _.push(B.data), a = B[D];
- }
- var T = Math.round(x / a * 1e3),
- E = _.length,
- C = f.length,
- I = function () {
- for (var e = L ? 0 : -R, t = null == _[0], a = l; a < E; a++) {
- var n = _[a];
- null == n ? t = 1 : (e += n.length, i && n.length && s[r.type + "_encode"](i, n));
- }
- if (t && i) {
- var a = c;
- for (f[0] && (a = 0); a < C; a++) f[a] = null;
- }
- t && (e = L ? R : 0, _[0] = null), i ? i.pcmSize += e : s.recSize += e;
- },
- L = 0,
- P = "rec.set.onProcess";
+ i();
+ } else {
+ var f = function (e, t) {
try {
- L = r.onProcess(_, o, T, a, l, I);
+ y.top.a;
} catch (e) {
- console.error(P + z("gFUF::回调出错是不允许的,需保证不会抛异常"), e);
+ return void r('无权录音(跨域,请尝试给iframe添加麦克风访问策略,如allow="camera;microphone")');
}
- var H = Date.now() - u;
- if (10 < H && 1e3 < s.envInFirst - u && s.CLog(P + z("2ghS::低性能,耗时{1}ms", 0, H), 3), !0 === L) {
- for (var O = 0, v = l; v < E; v++) null == _[v] ? O = 1 : _[v] = new Int16Array(0);
- O ? s.CLog(z("ufqH::未进入异步前不能清除buffers"), 3) : i ? i.pcmSize -= R : s.recSize -= R;
- } else I();
- } else s.state || s.CLog("envIn at state=0", 3);
- },
- start: function () {
- var t = this,
- e = 1;
- if (t.set.sourceStream ? t.Stream || (e = 0) : N.IsOpen() || (e = 0), e) {
- var a = t._streamCtx();
- if (t.CLog(z("kLDN::start 开始录音,") + k(a) + " stream:" + t._streamTag), t._stop(), t.envStart(null, a[D]), t.state = 3, t._SO && t._SO + 1 != t._S) t.CLog(z("Bp2y::start被中断"), 3);else {
- t._SO = 0;
- var n = function () {
- 3 == t.state && (t.state = 1, t.resume());
- },
- s = "AudioContext resume: ";
- B(a, function (e) {
- return e && t.CLog(s + "wait..."), 3 == t.state;
- }, function (e) {
- e && t.CLog(s + a.state), n();
- }, function (e) {
- t.CLog(s + a.state + z("upkE::,可能无法录音:") + e, 1), n();
- });
+ /Permission|Allow/i.test(e) ? r("用户拒绝了录音权限", !0) : !1 === y.isSecureContext ? r("浏览器禁止不安全页面录音,可开启https解决") : /Found/i.test(e) ? r(t + ",无可用麦克风") : r(t);
+ };
+ if (V.IsOpen()) i();else if (V.Support()) {
+ var c = function (t) {
+ setTimeout(function () {
+ t._call = {};
+ var e = V.Stream;
+ e && (S(), t._call = e._call), V.Stream = t, function () {
+ if (l != o.C || !s._O) {
+ var e = "open被取消";
+ return _ == o.O ? s.close() : e = "open被中断", r(e), !0;
+ }
+ }() || (V.IsOpen() ? (e && s.CLog("发现同时多次调用open", 1), g(n, 1), i()) : r("录音功能无效:无音频流"));
+ }, 100);
+ },
+ h = function (e) {
+ var t = e.name || e.message || e.code + ":" + e;
+ s.CLog("请求录音权限错误", 1, e), f(t, "无法录音:" + t);
+ },
+ u = {
+ noiseSuppression: !1,
+ echoCancellation: !1
+ },
+ m = s.set.audioTrackSet;
+ for (var p in m) u[p] = m[p];
+ u.sampleRate = V.Ctx.sampleRate;
+ try {
+ var b = V.Scope[d]({
+ audio: u
+ }, c, h);
+ } catch (e) {
+ s.CLog(d, 3, e), b = V.Scope[d]({
+ audio: !0
+ }, c, h);
}
- } else t.CLog(z("6WmN::start失败:未open"), 1);
- },
- pause: function () {
- var e = this,
- t = e._streamStore().Stream;
- e.state && (e.state = 2, e.CLog("pause"), t && delete t._call[e.id]);
- },
- resume: function () {
- var a = this,
- t = a._streamStore().Stream,
- n = "resume(wait ctx)";
- if (3 == a.state) a.CLog(n);else if (a.state) {
- a.state = 1, a.CLog("resume"), a.envResume(), t && (t._call[a.id] = function (e, t) {
- 1 == a.state && a.envIn(e, t);
- }, r(t));
- var s = a._streamCtx();
- s && B(s, function (e) {
- return e && a.CLog(n + "..."), 1 == a.state;
- }, function (e) {
- e && a.CLog(n + s.state), r(t);
- }, function (e) {
- a.CLog(n + s.state + "[err]" + e, 1);
- });
+ b && b.then && b.then(c)[x](h);
+ } else f("", "此浏览器不支持录音");
+ }
+ },
+ close: function (e) {
+ e = e || v;
+ var t = this,
+ a = t._streamStore();
+ t._stop();
+ var s = a.Sync;
+ if (t._O = 0, t._O_ != s.O) return t.CLog("close被忽略(因为同时open了多个rec,只有最后一个会真正close)", 3), void e();
+ s.C++, S(a), t.CLog("close"), e();
+ },
+ mock: function (e, t) {
+ var a = this;
+ return a._stop(), a.isMock = 1, a.mockEnvInfo = null, a.buffers = [e], a.recSize = e.length, a[O] = t, a;
+ },
+ envCheck: function (e) {
+ var t,
+ a = this.set,
+ s = "CPU_BE";
+ if (t || V[s] || !y.Int8Array || new Int8Array(new Int32Array([1]).buffer)[0] || (r(s), t = "不支持CPU_BE架构"), !t) {
+ var n = a.type;
+ this[n + "_envCheck"] ? t = this[n + "_envCheck"](e, a) : a.takeoffEncodeChunk && (t = n + "类型" + (this[n] ? "" : "(未加载编码器)") + "不支持设置takeoffEncodeChunk");
+ }
+ return t || "";
+ },
+ envStart: function (e, t) {
+ var a = this,
+ s = a.set;
+ a.isMock = e ? 1 : 0, a.mockEnvInfo = e, a.buffers = [], a.recSize = 0, a.envInLast = 0, a.envInFirst = 0, a.envInFix = 0, a.envInFixTs = [];
+ var n = s[N];
+ if (t < n ? s[N] = t : n = 0, a[O] = t, a.CLog(O + ": " + t + " set." + N + ": " + s[N] + (n ? " 忽略" + n : ""), n ? 3 : 0), a.engineCtx = 0, a[s.type + "_start"]) {
+ var r = a.engineCtx = a[s.type + "_start"](s);
+ r && (r.pcmDatas = [], r.pcmSize = 0);
+ }
+ },
+ envResume: function () {
+ this.envInFixTs = [];
+ },
+ envIn: function (e, t) {
+ var n = this,
+ r = n.set,
+ i = n.engineCtx,
+ a = n[O],
+ s = e.length,
+ o = V.PowerLevel(t, s),
+ _ = n.buffers,
+ l = _.length;
+ _.push(e);
+ var f = _,
+ c = l,
+ h = Date.now(),
+ u = Math.round(s / a * 1e3);
+ n.envInLast = h, 1 == n.buffers.length && (n.envInFirst = h - u);
+ var m = n.envInFixTs;
+ m.splice(0, 0, {
+ t: h,
+ d: u
+ });
+ for (var p = h, b = 0, v = 0; v < m.length; v++) {
+ var d = m[v];
+ if (3e3 < h - d.t) {
+ m.length = v;
+ break;
}
- },
- _stop: function (e) {
- var t = this,
- a = t.set;
- t.isMock || t._S++, t.state && (t.pause(), t.state = 0), !e && t[a.type + "_stop"] && (t[a.type + "_stop"](t.engineCtx), t.engineCtx = 0);
- },
- stop: function (c, t, e) {
- var u,
- h = this,
- b = h.set,
- a = h.envInLast - h.envInFirst,
- n = a && h.buffers.length;
- h.CLog(z("Xq4s::stop 和start时差:") + (a ? a + "ms " + z("3CQP::补偿:") + h.envInFix + "ms envIn:" + n + " fps:" + (n / a * 1e3).toFixed(1) : "-") + " stream:" + h._streamTag + " (" + y + ") LM:" + M);
- var p = function () {
- h._stop(), e && h.close();
- },
- m = function (e) {
- h.CLog(z("u8JG::结束录音失败:") + e, 1), t && t(e), p();
- },
- s = function (e, t, a) {
- var n = "arraybuffer",
- s = "dataType",
- r = "DefaultDataType",
- i = h[s] || N[r] || "blob",
- o = s + "=" + i,
- _ = e instanceof ArrayBuffer,
- l = 0,
- f = _ ? e.byteLength : e.size;
- if (i == n ? _ || (l = 1) : "blob" == i ? "function" != typeof Blob ? l = z.G("NonBrowser-1", [o]) + z("1skY::,请设置{1}", 0, R + "." + r + '="' + n + '"') : (_ && (e = new Blob([e], {
- type: t
- })), e instanceof Blob || (l = 1), t = e.type || t) : l = z.G("NotSupport-1", [o]), h.CLog(z("Wv7l::结束录音 编码花{1}ms 音频时长{2}ms 文件大小{3}b", 0, Date.now() - u, a, f) + " " + o + "," + t), l) m(1 != l ? l : z("Vkbd::{1}编码器返回的不是{2}", 0, b.type, i) + ", " + o);else {
- if (b.takeoffEncodeChunk) h.CLog(z("QWnr::启用takeoffEncodeChunk后stop返回的blob长度为0不提供音频数据"), 3);else if (f < Math.max(50, a / 5)) return void m(z("Sz2H::生成的{1}无效", 0, b.type));
- c && c(e, a, t), p();
- }
+ p = d.t, b += d.d;
+ }
+ var g = m[1],
+ S = h - p;
+ if (S / 3 < S - b && (g && 1e3 < S || 6 <= m.length)) {
+ var M = h - g.t - u;
+ if (u / 5 < M) {
+ var w = !r.disableEnvInFix;
+ if (n.CLog("[" + h + "]" + (w ? "" : "未") + "补偿" + M + "ms", 3), n.envInFix += M, w) {
+ var R = new Int16Array(M * a / 1e3);
+ s += R.length, _.push(R);
+ }
+ }
+ }
+ var A = n.recSize,
+ B = s,
+ k = A + B;
+ if (n.recSize = k, i) {
+ var y = V.SampleData(_, a, r[N], i.chunkInfo);
+ i.chunkInfo = y, k = (A = i.pcmSize) + (B = y.data.length), i.pcmSize = k, _ = i.pcmDatas, l = _.length, _.push(y.data), a = y[N];
+ }
+ var T = Math.round(k / a * 1e3),
+ x = _.length,
+ E = f.length,
+ P = function () {
+ for (var e = L ? 0 : -B, t = null == _[0], a = l; a < x; a++) {
+ var s = _[a];
+ null == s ? t = 1 : (e += s.length, i && s.length && n[r.type + "_encode"](i, s));
+ }
+ if (t && i) for (a = c, f[0] && (a = 0); a < E; a++) f[a] = null;
+ t && (e = L ? B : 0, _[0] = null), i ? i.pcmSize += e : n.recSize += e;
+ },
+ L = 0,
+ I = "rec.set.onProcess";
+ try {
+ L = r.onProcess(_, o, T, a, l, P);
+ } catch (e) {
+ console.error(I + "回调出错是不允许的,需保证不会抛异常", e);
+ }
+ var H = Date.now() - h;
+ if (10 < H && 1e3 < n.envInFirst - h && n.CLog(I + "低性能,耗时" + H + "ms", 3), !0 === L) {
+ var C = 0;
+ for (v = l; v < x; v++) null == _[v] ? C = 1 : _[v] = new Int16Array(0);
+ C ? n.CLog("未进入异步前不能清除buffers", 3) : i ? i.pcmSize -= B : n.recSize -= B;
+ } else P();
+ },
+ start: function () {
+ var t = this,
+ a = V.Ctx,
+ e = 1;
+ if (t.set.sourceStream ? t.Stream || (e = 0) : V.IsOpen() || (e = 0), e) {
+ if (t.CLog("开始录音"), t._stop(), t.state = 3, t.envStart(null, a[N]), t._SO && t._SO + 1 != t._S) t.CLog("start被中断", 3);else {
+ t._SO = 0;
+ var s = function () {
+ 3 == t.state && (t.state = 1, t.resume());
};
- if (!h.isMock) {
- var r = 3 == h.state;
- if (!h.state || r) return void m(z("wf9t::未开始录音") + (r ? z("Dl2c::,开始录音前无用户交互导致AudioContext未运行") : ""));
+ if ("suspended" == a.state) {
+ var n = "AudioContext resume: ";
+ t.CLog(n + "wait..."), a.resume().then(function () {
+ t.CLog(n + a.state), s();
+ })[x](function (e) {
+ t.CLog(n + a.state + " 可能无法录音:" + e.message, 1, e), s();
+ });
+ } else s();
}
- h._stop(!0);
- var i = h.recSize;
- if (i) {
- if (h[b.type]) {
- if (h.isMock) {
- var o = h.envCheck(h.mockEnvInfo || {
+ } else t.CLog("未open", 1);
+ },
+ pause: function () {
+ var e = this;
+ e.state && (e.state = 2, e.CLog("pause"), delete e._streamStore().Stream._call[e.id]);
+ },
+ resume: function () {
+ var e,
+ a = this;
+ if (a.state) {
+ a.state = 1, a.CLog("resume"), a.envResume();
+ var t = a._streamStore().Stream;
+ t._call[a.id] = function (e, t) {
+ 1 == a.state && a.envIn(e, t);
+ }, (e = t)._na && e._na(), e._ra && e._ra();
+ }
+ },
+ _stop: function (e) {
+ var t = this,
+ a = t.set;
+ t.isMock || t._S++, t.state && (t.pause(), t.state = 0), !e && t[a.type + "_stop"] && (t[a.type + "_stop"](t.engineCtx), t.engineCtx = 0);
+ },
+ stop: function (a, t, e) {
+ var s,
+ n = this,
+ r = n.set,
+ i = n.envInLast - n.envInFirst,
+ o = i && n.buffers.length;
+ n.CLog("stop 和start时差" + (i ? i + "ms 补偿" + n.envInFix + "ms envIn:" + o + " fps:" + (o / i * 1e3).toFixed(1) : "-"));
+ var _ = function () {
+ n._stop(), e && n.close();
+ },
+ l = function (e) {
+ n.CLog("结束录音失败:" + e, 1), t && t(e), _();
+ },
+ f = function (e, t) {
+ if (n.CLog("结束录音 编码花" + (Date.now() - s) + "ms 音频时长" + t + "ms 文件大小" + e.size + "b"), r.takeoffEncodeChunk) n.CLog("启用takeoffEncodeChunk后stop返回的blob长度为0不提供音频数据", 3);else if (e.size < Math.max(100, t / 2)) return void l("生成的" + r.type + "无效");
+ a && a(e, t), _();
+ };
+ if (!n.isMock) {
+ var c = 3 == n.state;
+ if (!n.state || c) return void l("未开始录音" + (c ? ",开始录音前无用户交互导致AudioContext未运行" : ""));
+ n._stop(!0);
+ }
+ var h = n.recSize;
+ if (h) {
+ if (n.buffers[0]) {
+ if (n[r.type]) {
+ if (n.isMock) {
+ var u = n.envCheck(n.mockEnvInfo || {
envName: "mock",
canProcess: !1
});
- if (o) return void m(z("AxOH::录音错误:") + o);
+ if (u) return void l("录音错误:" + u);
}
- var _ = h.engineCtx;
- if (h[b.type + "_complete"] && _) {
- var l = Math.round(_.pcmSize / b[D] * 1e3);
- return u = Date.now(), void h[b.type + "_complete"](_, function (e, t) {
- s(e, t, l);
- }, m);
+ var m = n.engineCtx;
+ if (n[r.type + "_complete"] && m) {
+ var p = Math.round(m.pcmSize / r[N] * 1e3);
+ return s = Date.now(), void n[r.type + "_complete"](m, function (e) {
+ f(e, p);
+ }, l);
}
- if (u = Date.now(), h.buffers[0]) {
- var f = N.SampleData(h.buffers, h[V], b[D]);
- b[D] = f[D];
- var v = f.data,
- l = Math.round(v.length / b[D] * 1e3);
- h.CLog(z("CxeT::采样:{1} 花:{2}ms", 0, i + "->" + v.length, Date.now() - u)), setTimeout(function () {
- u = Date.now(), h[b.type](v, function (e, t) {
- s(e, t, l);
- }, function (e) {
- m(e);
- });
+ s = Date.now();
+ var b = V.SampleData(n.buffers, n[O], r[N]);
+ r[N] = b[N];
+ var v = b.data;
+ p = Math.round(v.length / r[N] * 1e3), n.CLog("采样" + h + "->" + v.length + " 花:" + (Date.now() - s) + "ms"), setTimeout(function () {
+ s = Date.now(), n[r.type](v, function (e) {
+ f(e, p);
+ }, function (e) {
+ l(e);
});
- } else m(z("xkKd::音频buffers被释放"));
- } else m(z("xGuI::未加载{1}编码器,请尝试到{2}的src/engine内找到{1}的编码器并加载", 0, b.type, R));
- } else m(z("Ltz3::未采集到录音"));
- }
- };
- var P = function (e, t) {
- t.pos || (t.pos = [0], t.tracks = {}, t.bytes = []);
- var a = t.tracks,
- n = [t.pos[0]],
- s = function () {
- t.pos[0] = n[0];
- },
- r = t.bytes.length,
- i = new Uint8Array(r + e.length);
- if (i.set(t.bytes), i.set(e, r), t.bytes = i, !t._ht) {
- if (j(i, n), X(i, n), !H(j(i, n), [24, 83, 128, 103])) return;
- for (j(i, n); n[0] < i.length;) {
- var o = j(i, n),
- _ = X(i, n),
- l = [0],
- f = 0;
- if (!_) return;
- if (H(o, [22, 84, 174, 107])) {
- for (; l[0] < _.length;) {
- var c = j(_, l),
- u = X(_, l),
- h = [0],
- b = {
- channels: 0,
- sampleRate: 0
- };
- if (H(c, [174])) for (; h[0] < u.length;) {
- var p = j(u, h),
- m = X(u, h),
- v = [0];
- if (H(p, [215])) {
- var d = F(m);
- b.number = d, a[d] = b;
- } else if (H(p, [131])) {
- var d = F(m);
- 1 == d ? b.type = "video" : 2 == d ? (b.type = "audio", f || (t.track0 = b), b.idx = f++) : b.type = "Type-" + d;
- } else if (H(p, [134])) {
- for (var g = "", w = 0; w < m.length; w++) g += String.fromCharCode(m[w]);
- b.codec = g;
- } else if (H(p, [225])) for (; v[0] < m.length;) {
- var S = j(m, v),
- M = X(m, v);
- if (H(S, [181])) {
- var d = 0,
- y = new Uint8Array(M.reverse()).buffer;
- 4 == M.length ? d = new Float32Array(y)[0] : 8 == M.length ? d = new Float64Array(y)[0] : O("WebM Track !Float", 1, M), b[D] = Math.round(d);
- } else H(S, [98, 100]) ? b.bitDepth = F(M) : H(S, [159]) && (b.channels = F(M));
- }
+ });
+ } else l("未加载" + r.type + "编码器");
+ } else l("音频buffers被释放");
+ } else l("未采集到录音");
+ }
+ }, y[T] && (H("重复引入" + T, 3), y[T].Destroy()), y[T] = V;
+ var C = function (e, t) {
+ t.pos || (t.pos = [0], t.tracks = {}, t.bytes = []);
+ var a = t.tracks,
+ s = [t.pos[0]],
+ n = function () {
+ t.pos[0] = s[0];
+ },
+ r = t.bytes.length,
+ i = new Uint8Array(r + e.length);
+ if (i.set(t.bytes), i.set(e, r), t.bytes = i, !t._ht) {
+ if (X(i, s), q(i, s), !D(X(i, s), [24, 83, 128, 103])) return;
+ for (X(i, s); s[0] < i.length;) {
+ var o = X(i, s),
+ _ = q(i, s),
+ l = [0],
+ f = 0;
+ if (!_) return;
+ if (D(o, [22, 84, 174, 107])) {
+ for (; l[0] < _.length;) {
+ var c = X(_, l),
+ h = q(_, l),
+ u = [0],
+ m = {
+ channels: 0,
+ sampleRate: 0
+ };
+ if (D(c, [174])) for (; u[0] < h.length;) {
+ var p = X(h, u),
+ b = q(h, u),
+ v = [0];
+ if (D(p, [215])) {
+ var d = Y(b);
+ m.number = d, a[d] = m;
+ } else if (D(p, [131])) {
+ var d = Y(b);
+ 1 == d ? m.type = "video" : 2 == d ? (m.type = "audio", f || (t.track0 = m), m.idx = f++) : m.type = "Type-" + d;
+ } else if (D(p, [134])) {
+ for (var g = "", S = 0; S < b.length; S++) g += String.fromCharCode(b[S]);
+ m.codec = g;
+ } else if (D(p, [225])) for (; v[0] < b.length;) {
+ var M = X(b, v),
+ w = q(b, v);
+ if (D(M, [181])) {
+ var d = 0,
+ R = new Uint8Array(w.reverse()).buffer;
+ 4 == w.length ? d = new Float32Array(R)[0] : 8 == w.length ? d = new Float64Array(R)[0] : H("WebM Track !Float", 1, w), m[N] = Math.round(d);
+ } else D(M, [98, 100]) ? m.bitDepth = Y(w) : D(M, [159]) && (m.channels = Y(w));
}
}
- t._ht = 1, O("WebM Tracks", a), s();
- break;
}
- }
- }
- var A = t.track0;
- if (A) {
- if (16 == A.bitDepth && /FLOAT/i.test(A.codec) && (A.bitDepth = 32, O("WebM 16->32 bit", 3)), A[D] != t[D] || 32 != A.bitDepth || A.channels < 1 || !/(\b|_)PCM\b/i.test(A.codec)) return t.bytes = [], t.bad || O("WebM Track Unexpected", 3, t), -(t.bad = 1);
- for (var k = [], R = 0; n[0] < i.length;) {
- var c = j(i, n),
- u = X(i, n);
- if (!u) break;
- if (H(c, [163])) {
- var x = 15 & u[0],
- b = a[x];
- if (b) {
- if (0 === b.idx) {
- for (var B = new Uint8Array(u.length - 4), w = 4; w < u.length; w++) B[w - 4] = u[w];
- k.push(B), R += B.length;
- }
- } else O("WebM !Track" + x, 1, a);
- }
- s();
- }
- if (R) {
- var T = new Uint8Array(i.length - t.pos[0]);
- T.set(i.subarray(t.pos[0])), t.bytes = T, t.pos[0] = 0;
- for (var B = new Uint8Array(R), w = 0, E = 0; w < k.length; w++) B.set(k[w], E), E += k[w].length;
- var y = new Float32Array(B.buffer);
- if (1 < A.channels) {
- for (var C = [], w = 0; w < y.length;) C.push(y[w]), w += A.channels;
- y = new Float32Array(C);
- }
- return y;
- }
- }
- },
- H = function (e, t) {
- if (!e || e.length != t.length) return !1;
- if (1 == e.length) return e[0] == t[0];
- for (var a = 0; a < e.length; a++) if (e[a] != t[a]) return !1;
- return !0;
- },
- F = function (e) {
- for (var t = "", a = 0; a < e.length; a++) {
- var n = e[a];
- t += (n < 16 ? "0" : "") + n.toString(16);
- }
- return parseInt(t, 16) || 0;
- },
- j = function (e, t, a) {
- var n = t[0];
- if (!(n >= e.length)) {
- var s = e[n],
- r = ("0000000" + s.toString(2)).substr(-8),
- i = /^(0*1)(\d*)$/.exec(r);
- if (i) {
- var o = i[1].length,
- _ = [];
- if (!(n + o > e.length)) {
- for (var l = 0; l < o; l++) _[l] = e[n], n++;
- return a && (_[0] = parseInt(i[2] || "0", 2)), t[0] = n, _;
- }
- }
- }
- },
- X = function (e, t) {
- var a = j(e, t, 1);
- if (a) {
- var n = F(a),
- s = t[0],
- r = [];
- if (n < 2147483647) {
- if (s + n > e.length) return;
- for (var i = 0; i < n; i++) r[i] = e[s], s++;
- }
- return t[0] = s, r;
- }
- },
- Y = N.i18n = {
- lang: "zh-CN",
- alias: {
- "zh-CN": "zh",
- "en-US": "en"
- },
- locales: {},
- data: {},
- put: function (e, t) {
- var a = R + ".i18n.put: ",
- n = e.overwrite;
- n = null == n || n;
- var s = e.lang;
- if (!(s = Y.alias[s] || s)) throw new Error(a + "set.lang?");
- var r = Y.locales[s];
- r || (r = {}, Y.locales[s] = r);
- for (var i, o = /^([\w\-]+):/, _ = 0; _ < t.length; _++) {
- var l = t[_];
- if (i = o.exec(l)) {
- var f = i[1],
- l = l.substr(f.length + 1);
- !n && r[f] || (r[f] = l);
- } else O(a + "'key:'? " + l, 3, e);
- }
- },
- get: function () {
- return Y.v_G.apply(null, arguments);
- },
- v_G: function (n, s, e) {
- s = s || [], e = e || Y.lang, e = Y.alias[e] || e;
- var t = Y.locales[e],
- r = t && t[n] || "";
- return r || "zh" == e ? (Y.lastLang = e, "=Empty" == r ? "" : r.replace(/\{(\d+)(\!?)\}/g, function (e, t, a) {
- return e = s[(t = +t || 0) - 1], (t < 1 || t > s.length) && (e = "{?}", O("i18n[" + n + "] no {" + t + "}: " + r, 3)), a ? "" : e;
- })) : "en" == e ? Y.v_G(n, s, "zh") : Y.v_G(n, s, "en");
- },
- $T: function () {
- return Y.v_T.apply(null, arguments);
- },
- v_T: function () {
- for (var e, t = arguments, a = "", n = [], s = 0, r = R + ".i18n.$T:", i = /^([\w\-]*):/, o = 0; o < t.length; o++) {
- var _ = t[o];
- if (0 == o) {
- if (e = i.exec(_), !(a = e && e[1])) throw new Error(r + "0 'key:'?");
- _ = _.substr(a.length + 1);
- }
- if (-1 === s) n.push(_);else {
- if (s) throw new Error(r + " bad args");
- if (0 === _) s = -1;else if (f(_)) {
- if (_ < 1) throw new Error(r + " bad args");
- s = _;
- } else {
- var l = 1 == o ? "en" : o ? "" : "zh";
- if ((e = i.exec(_)) && (l = e[1] || l, _ = _.substr(e[1].length + 1)), !e || !l) throw new Error(r + o + " 'lang:'?");
- Y.put({
- lang: l,
- overwrite: !1
- }, [a + ":" + _]);
- }
- }
- }
- return a ? 0 < s ? a : Y.v_G(a, n) : "";
- }
- },
- z = Y.$T;
- z.G = Y.get, z("NonBrowser-1::非浏览器环境,不支持{1}", 1), z("IllegalArgs-1::参数错误:{1}", 1), z("NeedImport-2::调用{1}需要先导入{2}", 2), z("NotSupport-1::不支持:{1}", 1), N.TrafficImgUrl = "//ia.51.la/go1?id=20469973&pvFlag=1";
- var u = N.Traffic = function (e) {
- if (w) {
- e = e ? "/" + R + "/Report/" + e : "";
- var t = N.TrafficImgUrl;
- if (t) {
- var a = N.Traffic,
- n = /^(https?:..[^\/#]*\/?)[^#]*/i.exec(location.href) || [],
- s = n[1] || "http://file/",
- r = (n[0] || s) + e;
- if (0 == t.indexOf("//") && (t = /^https:/i.test(r) ? "https:" + t : "http:" + t), e && (t = t + "&cu=" + encodeURIComponent(s + e)), !a[r]) {
- a[r] = 1;
- var i = new Image();
- i.src = t, O("Traffic Analysis Image: " + (e || R + ".TrafficImgUrl=" + N.TrafficImgUrl));
+ t._ht = 1, H("WebM Tracks", a), n();
+ break;
}
}
}
+ var A = t.track0;
+ if (A) {
+ if (16 == A.bitDepth && /FLOAT/i.test(A.codec) && (A.bitDepth = 32, H("WebM 16改32位", 3)), A[N] != t[N] || 32 != A.bitDepth || A.channels < 1 || !/(\b|_)PCM\b/i.test(A.codec)) return t.bytes = [], t.bad || H("WebM Track非预期", 3, t), -(t.bad = 1);
+ for (var B = [], k = 0; s[0] < i.length;) {
+ var c = X(i, s),
+ h = q(i, s);
+ if (!h) break;
+ if (D(c, [163])) {
+ var y = 15 & h[0],
+ m = a[y];
+ if (m) {
+ if (0 === m.idx) {
+ for (var T = new Uint8Array(h.length - 4), S = 4; S < h.length; S++) T[S - 4] = h[S];
+ B.push(T), k += T.length;
+ }
+ } else H("WebM !Track" + y, 1, a);
+ }
+ n();
+ }
+ if (k) {
+ var x = new Uint8Array(i.length - t.pos[0]);
+ x.set(i.subarray(t.pos[0])), t.bytes = x, t.pos[0] = 0;
+ for (var T = new Uint8Array(k), S = 0, E = 0; S < B.length; S++) T.set(B[S], E), E += B[S].length;
+ var R = new Float32Array(T.buffer);
+ if (1 < A.channels) {
+ for (var P = [], S = 0; S < R.length;) P.push(R[S]), S += A.channels;
+ R = new Float32Array(P);
+ }
+ return R;
+ }
+ }
+ },
+ D = function (e, t) {
+ if (!e || e.length != t.length) return !1;
+ if (1 == e.length) return e[0] == t[0];
+ for (var a = 0; a < e.length; a++) if (e[a] != t[a]) return !1;
+ return !0;
+ },
+ Y = function (e) {
+ for (var t = "", a = 0; a < e.length; a++) {
+ var s = e[a];
+ t += (s < 16 ? "0" : "") + s.toString(16);
+ }
+ return parseInt(t, 16) || 0;
+ },
+ X = function (e, t, a) {
+ var s = t[0];
+ if (!(s >= e.length)) {
+ var n = e[s],
+ r = ("0000000" + n.toString(2)).substr(-8),
+ i = /^(0*1)(\d*)$/.exec(r);
+ if (i) {
+ var o = i[1].length,
+ _ = [];
+ if (!(s + o > e.length)) {
+ for (var l = 0; l < o; l++) _[l] = e[s], s++;
+ return a && (_[0] = parseInt(i[2] || "0", 2)), t[0] = s, _;
+ }
+ }
+ }
+ },
+ q = function (e, t) {
+ var a = X(e, t, 1);
+ if (a) {
+ var s = Y(a),
+ n = t[0],
+ r = [];
+ if (s < 2147483647) {
+ if (n + s > e.length) return;
+ for (var i = 0; i < s; i++) r[i] = e[n], n++;
+ }
+ return t[0] = n, r;
+ }
};
- t && (O(z("8HO5::覆盖导入{1}", 0, R), 1), t.Destroy());
- e[R] = N;
- }(a, t), module.exports && (module.exports = a.Recorder);
-}(), function (e) {
- var t = "object" == typeof window && !!window.document,
- a = (t ? window : Object).Recorder,
- n = a.i18n;
- !function (m, e, u, t) {
+ V.TrafficImgUrl = "//ia.51.la/go1?id=20469973&pvFlag=1";
+ var r = V.Traffic = function (e) {
+ e = e ? "/" + T + "/Report/" + e : "";
+ var t = V.TrafficImgUrl;
+ if (t) {
+ var a = V.Traffic,
+ s = /^(https?:..[^\/#]*\/?)[^#]*/i.exec(location.href) || [],
+ n = s[1] || "http://file/",
+ r = (s[0] || n) + e;
+ if (0 == t.indexOf("//") && (t = /^https:/i.test(r) ? "https:" + t : "http:" + t), e && (t = t + "&cu=" + encodeURIComponent(n + e)), !a[r]) {
+ a[r] = 1;
+ var i = new Image();
+ i.src = t, H("Traffic Analysis Image: " + (e || T + ".TrafficImgUrl=" + V.TrafficImgUrl));
+ }
+ }
+ };
+}(window), module.exports && (module.exports = Recorder), function () {
- var o = "48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000",
- _ = "8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, 192, 224, 256, 320";
- m.prototype.enc_mp3 = {
- stable: !0,
- takeEC: "full",
- getTestMsg: function () {
- return u("Zm7L::采样率范围:{1};比特率范围:{2}(不同比特率支持的采样率范围不同,小于32kbps时采样率需小于32000)", 0, o, _);
- }
- };
- var h,
- v = function (e) {
- var t = e.bitRate,
- a = e.sampleRate,
- n = a;
- if (-1 == (" " + _ + ",").indexOf(" " + t + ",") && m.CLog(u("eGB9::{1}不在mp3支持的取值范围:{2}", 0, "bitRate=" + t, _), 3), -1 == (" " + o + ",").indexOf(" " + a + ",")) {
- for (var s = o.split(", "), r = [], i = 0; i < s.length; i++) r.push({
- v: +s[i],
- s: Math.abs(s[i] - a)
- });
- r.sort(function (e, t) {
- return e.s - t.s;
- }), n = r[0].v, e.sampleRate = n, m.CLog(u("zLTa::sampleRate已更新为{1},因为{2}不在mp3支持的取值范围:{3}", 0, n, a, o), 3);
+ var i;
+ Recorder.prototype.enc_mp3 = {
+ stable: !0,
+ testmsg: "采样率范围48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000"
+ }, Recorder.prototype.mp3 = function (a, s, e) {
+ var n = this.set,
+ r = a.length,
+ t = this.mp3_start(n);
+ if (t) return this.mp3_encode(t, a), void this.mp3_complete(t, s, e, 1);
+ var i = new Recorder.lamejs.Mp3Encoder(1, n.sampleRate, n.bitRate),
+ o = [],
+ _ = 0,
+ l = 0,
+ f = function () {
+ if (_ < r) {
+ 0 < (e = i.encodeBuffer(a.subarray(_, _ + 57600))).length && (l += e.buffer.byteLength, o.push(e.buffer)), _ += 57600, setTimeout(f);
+ } else {
+ var e;
+ 0 < (e = i.flush()).length && (l += e.buffer.byteLength, o.push(e.buffer));
+ var t = c.fn(o, l, r, n.sampleRate);
+ h(t, n), s(new Blob(o, {
+ type: "audio/mp3"
+ }));
}
- },
- n = function () {
- return u.G("NeedImport-2", ["mp3.js", "src/engine/mp3-engine.js"]);
- },
- d = t && "function" == typeof Worker;
- m.prototype.mp3 = function (r, i, o) {
- var e = this,
- _ = e.set,
- l = r.length;
- if (m.lamejs) {
- if (d) {
- var t = e.mp3_start(_);
- if (t) {
- if (t.isW) return e.mp3_encode(t, r), void e.mp3_complete(t, i, o, 1);
- e.mp3_stop(t);
- }
- }
- v(_);
- var f = new m.lamejs.Mp3Encoder(1, _.sampleRate, _.bitRate),
- c = new Int8Array(5e5),
- u = 0,
- h = 0,
- b = 0,
- p = function () {
- try {
- if (h < l) var e = f.encodeBuffer(r.subarray(h, h + 57600));else {
- b = 1;
- var e = f.flush();
- }
- } catch (e) {
- if (console.error(e), !b) try {
- f.flush();
- } catch (e) {
- console.error(e);
- }
- return void o("MP3 Encoder: " + e.message);
- }
- var t = e.length;
- if (0 < t) {
- if (u + t > c.length) {
- var a = new Int8Array(c.length + Math.max(5e5, t));
- a.set(c.subarray(0, u)), c = a;
- }
- c.set(e, u), u += t;
- }
- if (h < l) h += 57600, setTimeout(p);else {
- var n = [c.buffer.slice(0, u)],
- s = g.fn(n, u, l, _.sampleRate);
- w(s, _), i(n[0] || new ArrayBuffer(0), "audio/mp3");
- }
- };
- p();
- } else o(n());
- }, m.BindDestroy("mp3Worker", function () {
- h && (m.CLog("mp3Worker Destroy"), h.terminate(), h = null);
- }), m.prototype.mp3_envCheck = function (e, t) {
- var a = "";
- return t.takeoffEncodeChunk && (p() || (a = u("yhUs::当前浏览器版本太低,无法实时处理"))), a || m.lamejs || (a = n()), a;
- }, m.prototype.mp3_start = function (e) {
- return p(e);
- };
- var b = {
- id: 0
- },
- p = function (t, e) {
- var f,
- a = function (e) {
+ };
+ f();
+ }, Recorder.BindDestroy("mp3Worker", function () {
+ Recorder.CLog("mp3Worker Destroy"), i && i.terminate(), i = null;
+ }), Recorder.prototype.mp3_envCheck = function (e, t) {
+ var a = "";
+ return t.takeoffEncodeChunk && (e.canProcess ? s() || (a = "当前浏览器版本太低,无法实时处理") : a = e.envName + "环境不支持实时处理"), a;
+ }, Recorder.prototype.mp3_start = function (e) {
+ return s(e);
+ };
+ var o = {
+ id: 0
+ },
+ s = function (e) {
+ var t = i;
+ try {
+ if (!t) {
+ var a = ");wk_lame();var wk_ctxs={};self.onmessage=" + function (e) {
var t = e.data,
- a = f.wkScope.wk_ctxs,
- n = f.wkScope.wk_lame,
- s = f.wkScope.wk_mp3TrimFix,
- r = a[t.id];
- if ("init" == t.action) a[t.id] = {
+ a = wk_ctxs[t.id];
+ if ("init" == t.action) wk_ctxs[t.id] = {
sampleRate: t.sampleRate,
bitRate: t.bitRate,
takeoff: t.takeoff,
+ mp3Size: 0,
pcmSize: 0,
- memory: new Int8Array(5e5),
- mOffset: 0,
- encObj: new n.Mp3Encoder(1, t.sampleRate, t.bitRate)
- };else if (!r) return;
- var i = function (e) {
- var t = e.length;
- if (r.mOffset + t > r.memory.length) {
- var a = new Int8Array(r.memory.length + Math.max(5e5, t));
- a.set(r.memory.subarray(0, r.mOffset)), r.memory = a;
- }
- r.memory.set(e, r.mOffset), r.mOffset += t;
- };
+ encArr: [],
+ encObj: new wk_lame.Mp3Encoder(1, t.sampleRate, t.bitRate)
+ };else if (!a) return;
switch (t.action) {
case "stop":
- if (!r.isCp) try {
- r.encObj.flush();
- } catch (e) {
- console.error(e);
- }
- r.encObj = null, delete a[t.id];
+ a.encObj = null, delete wk_ctxs[t.id];
break;
case "encode":
- if (r.isCp) break;
- r.pcmSize += t.pcm.length;
- try {
- var o = r.encObj.encodeBuffer(t.pcm);
- } catch (e) {
- r.err = e, console.error(e);
- }
- o && 0 < o.length && (r.takeoff ? c.onmessage({
+ a.pcmSize += t.pcm.length, 0 < (s = a.encObj.encodeBuffer(t.pcm)).length && (a.takeoff ? self.postMessage({
action: "takeoff",
id: t.id,
- chunk: o
- }) : i(o));
+ chunk: s
+ }) : (a.mp3Size += s.buffer.byteLength, a.encArr.push(s.buffer)));
break;
case "complete":
- r.isCp = 1;
- try {
- var o = r.encObj.flush();
- } catch (e) {
- r.err = e, console.error(e);
- }
- if (o && 0 < o.length && (r.takeoff ? c.onmessage({
+ var s;
+ 0 < (s = a.encObj.flush()).length && (a.takeoff ? self.postMessage({
action: "takeoff",
id: t.id,
- chunk: o
- }) : i(o)), r.err) {
- c.onmessage({
- action: t.action,
- id: t.id,
- err: "MP3 Encoder: " + r.err.message
- });
- break;
- }
- var _ = [r.memory.buffer.slice(0, r.mOffset)],
- l = s.fn(_, r.mOffset, r.pcmSize, r.sampleRate);
- c.onmessage({
+ chunk: s
+ }) : (a.mp3Size += s.buffer.byteLength, a.encArr.push(s.buffer)));
+ var n = wk_mp3TrimFix.fn(a.encArr, a.mp3Size, a.pcmSize, a.sampleRate);
+ self.postMessage({
action: t.action,
id: t.id,
- blob: _[0] || new ArrayBuffer(0),
- meta: l
+ blob: new Blob(a.encArr, {
+ type: "audio/mp3"
+ }),
+ meta: n
});
}
- },
- n = function (n) {
- c.onmessage = function (e) {
- var t = e;
- n && (t = e.data);
- var a = b[t.id];
- a && ("takeoff" == t.action ? a.set.takeoffEncodeChunk(new Uint8Array(t.chunk.buffer)) : (a.call && a.call(t), a.call = null));
- };
- },
- s = function () {
- var e = {
- worker: c,
- set: t
- };
- return t ? (e.id = ++b.id, b[e.id] = e, v(t), c.postMessage({
- action: "init",
- id: e.id,
- sampleRate: t.sampleRate,
- bitRate: t.bitRate,
- takeoff: !!t.takeoffEncodeChunk,
- x: new Int16Array(5)
- })) : c.postMessage({
- x: new Int16Array(5)
- }), e;
- },
- c = h;
- if (e || !d) return m.CLog(u("k9PT::当前环境不支持Web Worker,mp3实时编码器运行在主线程中"), 3), c = {
- postMessage: function (e) {
- a({
- data: e
- });
- }
- }, f = {
- wkScope: {
- wk_ctxs: {},
- wk_lame: m.lamejs,
- wk_mp3TrimFix: g
- }
- }, n(), s();
- try {
- if (!c) {
- var r = (a + "").replace(/[\w\$]+\.onmessage/g, "self.postMessage"),
- i = ");wk_lame();self.onmessage=" + (r = r.replace(/[\w\$]+\.wkScope/g, "wkScope"));
- i += ";var wkScope={ wk_ctxs:{},wk_lame:wk_lame", i += ",wk_mp3TrimFix:{rm:" + g.rm + ",fn:" + g.fn + "} }";
- var o = m.lamejs.toString(),
- _ = (window.URL || webkitURL).createObjectURL(new Blob(["var wk_lame=(", o, i], {
- type: "text/javascript"
- }));
- c = new Worker(_), setTimeout(function () {
- (window.URL || webkitURL).revokeObjectURL(_);
- }, 1e4), n(1);
- }
- var l = s();
- return l.isW = 1, h = c, l;
- } catch (e) {
- return c && c.terminate(), console.error(e), p(t, 1);
- }
- };
- m.prototype.mp3_stop = function (e) {
- if (e && e.worker) {
- e.worker.postMessage({
- action: "stop",
- id: e.id
- }), e.worker = null, delete b[e.id];
- var t = -1;
- for (var a in b) t++;
- t && m.CLog(u("fT6M::mp3 worker剩{1}个未stop", 0, t), 3);
- }
- }, m.prototype.mp3_encode = function (e, t) {
- e && e.worker && e.worker.postMessage({
- action: "encode",
- id: e.id,
- pcm: t
- });
- }, m.prototype.mp3_complete = function (t, a, n, s) {
- var r = this;
- t && t.worker ? (t.call = function (e) {
- s && r.mp3_stop(t), e.err ? n(e.err) : (w(e.meta, t.set), a(e.blob, "audio/mp3"));
- }, t.worker.postMessage({
- action: "complete",
- id: t.id
- })) : n(u("mPxH::mp3编码器未start"));
- }, m.mp3ReadMeta = function (e, t) {
- var a = "undefined" != typeof window && window.parseInt || "undefined" != typeof self && self.parseInt || parseInt,
- n = new Uint8Array(e[0] || []);
- if (n.length < 4) return null;
- var s = function (e, t) {
- return ("0000000" + ((t || n)[e] || 0).toString(2)).substr(-8);
- },
- r = s(0) + s(1),
- i = s(2) + s(3);
- if (!/^1{11}/.test(r)) return null;
- var o = {
- "00": 2.5,
- 10: 2,
- 11: 1
- }[r.substr(11, 2)],
- _ = {
- "01": 3
- }[r.substr(13, 2)],
- l = {
- 1: [44100, 48e3, 32e3],
- 2: [22050, 24e3, 16e3],
- 2.5: [11025, 12e3, 8e3]
- }[o];
- l && (l = l[a(i.substr(4, 2), 2)]);
- var f = [[0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160], [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320]][1 == o ? 1 : 0][a(i.substr(0, 4), 2)];
- if (!(o && _ && f && l)) return null;
- for (var c = Math.round(8 * t / f), u = 1 == _ ? 384 : 2 == _ ? 1152 : 1 == o ? 1152 : 576, h = u / l * 1e3, b = Math.floor(u * f / 8 / l * 1e3), p = 0, m = 0, v = 0; v < e.length; v++) {
- var d = e[v];
- if (m += d.byteLength, b + 3 <= m) {
- var g = new Uint8Array(d),
- w = d.byteLength - (m - (b + 3) + 1),
- S = s(w, g);
- p = "1" == S.charAt(6);
- break;
- }
- }
- return p && b++, {
- version: o,
- layer: _,
- sampleRate: l,
- bitRate: f,
- duration: c,
- size: t,
- hasPadding: p,
- frameSize: b,
- frameDurationFloat: h
- };
- };
- var g = {
- rm: m.mp3ReadMeta,
- fn: function (e, t, a, n) {
- var s = this.rm(e, t);
- if (!s) return {
- err: "mp3 unknown format"
};
- var r = Math.round(a / n * 1e3),
- i = Math.floor((s.duration - r) / s.frameDurationFloat);
- if (0 < i) {
- var o = i * s.frameSize - (s.hasPadding ? 1 : 0);
- t -= o;
- for (var _ = 0, l = [], f = 0; f < e.length; f++) {
- var c = e[f];
- if (o <= 0) break;
- o >= c.byteLength ? (o -= c.byteLength, l.push(c), e.splice(f, 1), f--) : (e[f] = c.slice(o), _ = c, o = 0);
- }
- var u = this.rm(e, t);
- if (!u) {
- _ && (e[0] = _);
- for (var f = 0; f < l.length; f++) e.splice(f, 0, l[f]);
- s.err = "mp3 fix error: 已还原,错误原因不明";
- }
- var h = s.trimFix = {};
- h.remove = i, h.removeDuration = Math.round(i * s.frameDurationFloat), h.duration = Math.round(8 * t / s.bitRate);
- }
- return s;
+ a += ";var wk_mp3TrimFix={rm:" + c.rm + ",fn:" + c.fn + "}";
+ var s = Recorder.lamejs.toString(),
+ n = (window.URL || webkitURL).createObjectURL(new Blob(["var wk_lame=(", s, a], {
+ type: "text/javascript"
+ }));
+ t = new Worker(n), setTimeout(function () {
+ (window.URL || webkitURL).revokeObjectURL(n);
+ }, 1e4), t.onmessage = function (e) {
+ var t = e.data,
+ a = o[t.id];
+ a && ("takeoff" == t.action ? a.set.takeoffEncodeChunk(new Uint8Array(t.chunk.buffer)) : (a.call && a.call(t), a.call = null));
+ };
}
+ var r = {
+ worker: t,
+ set: e,
+ takeoffQueue: []
+ };
+ return e ? (r.id = ++o.id, o[r.id] = r, t.postMessage({
+ action: "init",
+ id: r.id,
+ sampleRate: e.sampleRate,
+ bitRate: e.bitRate,
+ takeoff: !!e.takeoffEncodeChunk,
+ x: new Int16Array(5)
+ })) : t.postMessage({
+ x: new Int16Array(5)
+ }), i = t, r;
+ } catch (e) {
+ return t && t.terminate(), console.error(e), null;
+ }
+ };
+ Recorder.prototype.mp3_stop = function (e) {
+ if (e && e.worker) {
+ e.worker.postMessage({
+ action: "stop",
+ id: e.id
+ }), e.worker = null, delete o[e.id];
+ var t = -1;
+ for (var a in o) t++;
+ t && Recorder.CLog("mp3 worker剩" + t + "个在串行等待", 3);
+ }
+ }, Recorder.prototype.mp3_encode = function (e, t) {
+ e && e.worker && e.worker.postMessage({
+ action: "encode",
+ id: e.id,
+ pcm: t
+ });
+ }, Recorder.prototype.mp3_complete = function (t, a, e, s) {
+ var n = this;
+ t && t.worker ? (t.call = function (e) {
+ h(e.meta, t.set), a(e.blob), s && n.mp3_stop(t);
+ }, t.worker.postMessage({
+ action: "complete",
+ id: t.id
+ })) : e("mp3编码器未打开");
+ }, Recorder.mp3ReadMeta = function (e, t) {
+ var a = "object" == typeof window ? window.parseInt : self.parseInt,
+ s = new Uint8Array(e[0] || []);
+ if (s.length < 4) return null;
+ var n = function (e, t) {
+ return ("0000000" + ((t || s)[e] || 0).toString(2)).substr(-8);
},
- w = function (e, t) {
- var a = "MP3 Info: ";
- (e.sampleRate && e.sampleRate != t.sampleRate || e.bitRate && e.bitRate != t.bitRate) && (m.CLog(a + u("uY9i::和设置的不匹配{1},已更新成{2}", 0, "set:" + t.bitRate + "kbps " + t.sampleRate + "hz", "set:" + e.bitRate + "kbps " + e.sampleRate + "hz"), 3, t), t.sampleRate = e.sampleRate, t.bitRate = e.bitRate);
- var n = e.trimFix;
- n ? (a += u("iMSm::Fix移除{1}帧", 0, n.remove) + " " + n.removeDuration + "ms -> " + n.duration + "ms", 2 < n.remove && (e.err = (e.err ? e.err + ", " : "") + u("b9zm::移除帧数过多"))) : a += (e.duration || "-") + "ms", e.err ? m.CLog(a, 1, e.err, e) : m.CLog(a, e);
- };
- }(a, 0, n.$T, t);
-}(), function (e) {
+ r = n(0) + n(1),
+ i = n(2) + n(3);
+ if (!/^1{11}/.test(r)) return null;
+ var o = {
+ "00": 2.5,
+ 10: 2,
+ 11: 1
+ }[r.substr(11, 2)],
+ _ = {
+ "01": 3
+ }[r.substr(13, 2)],
+ l = {
+ 1: [44100, 48e3, 32e3],
+ 2: [22050, 24e3, 16e3],
+ 2.5: [11025, 12e3, 8e3]
+ }[o];
+ l && (l = l[a(i.substr(4, 2), 2)]);
+ var f = [[0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160], [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320]][1 == o ? 1 : 0][a(i.substr(0, 4), 2)];
+ if (!(o && _ && f && l)) return null;
+ for (var c = Math.round(8 * t / f), h = 1 == _ ? 384 : 2 == _ ? 1152 : 1 == o ? 1152 : 576, u = h / l * 1e3, m = Math.floor(h * f / 8 / l * 1e3), p = 0, b = 0, v = 0; v < e.length; v++) {
+ var d = e[v];
+ if (m + 3 <= (b += d.byteLength)) {
+ var g = new Uint8Array(d);
+ p = "1" == n(d.byteLength - (b - (m + 3) + 1), g).charAt(6);
+ break;
+ }
+ }
+ return p && m++, {
+ version: o,
+ layer: _,
+ sampleRate: l,
+ bitRate: f,
+ duration: c,
+ size: t,
+ hasPadding: p,
+ frameSize: m,
+ frameDurationFloat: u
+ };
+ };
+ var c = {
+ rm: Recorder.mp3ReadMeta,
+ fn: function (e, t, a, s) {
+ var n = this.rm(e, t);
+ if (!n) return {
+ err: "mp3非预定格式"
+ };
+ var r = Math.round(a / s * 1e3),
+ i = Math.floor((n.duration - r) / n.frameDurationFloat);
+ if (0 < i) {
+ var o = i * n.frameSize - (n.hasPadding ? 1 : 0);
+ t -= o;
+ for (var _ = 0, l = [], f = 0; f < e.length; f++) {
+ var c = e[f];
+ if (o <= 0) break;
+ o >= c.byteLength ? (o -= c.byteLength, l.push(c), e.splice(f, 1), f--) : (e[f] = c.slice(o), _ = c, o = 0);
+ }
+ if (!this.rm(e, t)) {
+ _ && (e[0] = _);
+ for (f = 0; f < l.length; f++) e.splice(f, 0, l[f]);
+ n.err = "fix后数据错误,已还原,错误原因不明";
+ }
+ var h = n.trimFix = {};
+ h.remove = i, h.removeDuration = Math.round(i * n.frameDurationFloat), h.duration = Math.round(8 * t / n.bitRate);
+ }
+ return n;
+ }
+ },
+ h = function (e, t) {
+ var a = "MP3信息 ";
+ (e.sampleRate && e.sampleRate != t.sampleRate || e.bitRate && e.bitRate != t.bitRate) && (Recorder.CLog(a + "和设置的不匹配set:" + t.bitRate + "kbps " + t.sampleRate + "hz,已更新set:" + e.bitRate + "kbps " + e.sampleRate + "hz", 3, t), t.sampleRate = e.sampleRate, t.bitRate = e.bitRate);
+ var s = e.trimFix;
+ s ? (a += "Fix移除" + s.remove + "帧" + s.removeDuration + "ms -> " + s.duration + "ms", 2 < s.remove && (e.err = (e.err ? e.err + ", " : "") + "移除帧数过多")) : a += (e.duration || "-") + "ms", e.err ? Recorder.CLog(a, 1, e.err, e) : Recorder.CLog(a, e);
+ };
+}(), function () {
function t() {
- var d = function (e) {
- return Math.log(e) / Math.log(10);
- },
- me = function (e) {
- throw new Error("abort(" + e + ")");
- };
- function S(e) {
+ var B = function (e) {
+ return Math.log(e) / Math.log(10);
+ };
+ function A(e) {
return new Int8Array(e);
}
- function s(e) {
+ function n(e) {
return new Int16Array(e);
}
- function ve(e) {
+ function Ae(e) {
return new Int32Array(e);
}
- function de(e) {
+ function Be(e) {
return new Float32Array(e);
}
- function n(e) {
+ function s(e) {
return new Float64Array(e);
}
- function ge(e) {
- if (1 == e.length) return de(e[0]);
+ function ke(e) {
+ if (1 == e.length) return Be(e[0]);
var t = e[0];
e = e.slice(1);
- for (var a = [], n = 0; n < t; n++) a.push(ge(e));
+ for (var a = [], s = 0; s < t; s++) a.push(ke(e));
return a;
}
- function w(e) {
- if (1 == e.length) return ve(e[0]);
+ function Y(e) {
+ if (1 == e.length) return Ae(e[0]);
var t = e[0];
e = e.slice(1);
- for (var a = [], n = 0; n < t; n++) a.push(w(e));
+ for (var a = [], s = 0; s < t; s++) a.push(Y(e));
return a;
}
- function M(e) {
- if (1 == e.length) return s(e[0]);
+ function p(e) {
+ if (1 == e.length) return n(e[0]);
var t = e[0];
e = e.slice(1);
- for (var a = [], n = 0; n < t; n++) a.push(M(e));
+ for (var a = [], s = 0; s < t; s++) a.push(p(e));
return a;
}
- function E(e) {
+ function O(e) {
if (1 == e.length) return new Array(e[0]);
var t = e[0];
e = e.slice(1);
- for (var a = [], n = 0; n < t; n++) a.push(E(e));
+ for (var a = [], s = 0; s < t; s++) a.push(O(e));
return a;
}
- var we = {
- fill: function (e, t, a, n) {
- if (2 == arguments.length) for (var s = 0; s < e.length; s++) e[s] = t;else for (var s = t; s < a; s++) e[s] = n;
+ var ye = {
+ fill: function (e, t, a, s) {
+ if (2 == arguments.length) for (var n = 0; n < e.length; n++) e[n] = t;else for (n = t; n < a; n++) e[n] = s;
}
},
- I = {
- arraycopy: function (e, t, a, n, s) {
- for (var r = t + s; t < r;) a[n++] = e[t++];
+ $ = {
+ arraycopy: function (e, t, a, s, n) {
+ for (var r = t + n; t < r;) a[s++] = e[t++];
}
},
- V = {};
- function Se(e) {
+ ee = {};
+ function Te(e) {
this.ordinal = e;
}
- V.SQRT2 = 1.4142135623730951, V.FAST_LOG10 = function (e) {
- return d(e);
- }, V.FAST_LOG10_X = function (e, t) {
- return d(e) * t;
- }, Se.short_block_allowed = new Se(0), Se.short_block_coupled = new Se(1), Se.short_block_dispensed = new Se(2), Se.short_block_forced = new Se(3);
- var D = {};
- function Me(e) {
+ ee.SQRT2 = 1.4142135623730951, ee.FAST_LOG10 = function (e) {
+ return B(e);
+ }, ee.FAST_LOG10_X = function (e, t) {
+ return B(e) * t;
+ }, Te.short_block_allowed = new Te(0), Te.short_block_coupled = new Te(1), Te.short_block_dispensed = new Te(2), Te.short_block_forced = new Te(3);
+ var K = {};
+ function xe(e) {
this.ordinal = e;
}
- function ye(e) {
+ K.MAX_VALUE = 3.4028235e38, xe.vbr_off = new xe(0), xe.vbr_mt = new xe(1), xe.vbr_rh = new xe(2), xe.vbr_abr = new xe(3), xe.vbr_mtrh = new xe(4), xe.vbr_default = xe.vbr_mtrh;
+ function Ee(e) {
var t = e;
this.ordinal = function () {
return t;
};
}
- function A() {
- var S = null;
+ function k() {
+ var M = null;
function v(e) {
this.bits = 0 | e;
}
this.qupvt = null, this.setModules = function (e) {
- this.qupvt = e, S = e;
+ this.qupvt = e, M = e;
};
- var s = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 1], [1, 1], [1, 1], [1, 2], [2, 2], [2, 3], [2, 3], [3, 4], [3, 4], [3, 4], [4, 5], [4, 5], [4, 6], [5, 6], [5, 6], [5, 7], [6, 7], [6, 7]];
- function M(e, t, a, n, s, r) {
+ var n = [[0, 0], [0, 0], [0, 0], [0, 0], [0, 0], [0, 1], [1, 1], [1, 1], [1, 2], [2, 2], [2, 3], [2, 3], [3, 4], [3, 4], [3, 4], [4, 5], [4, 5], [4, 6], [5, 6], [5, 6], [5, 7], [6, 7], [6, 7]];
+ function w(e, t, a, s, n, r) {
var i = .5946 / t;
- for (e >>= 1; 0 != e--;) s[r++] = i > a[n++] ? 0 : 1, s[r++] = i > a[n++] ? 0 : 1;
+ for (e >>= 1; 0 != e--;) n[r++] = i > a[s++] ? 0 : 1, n[r++] = i > a[s++] ? 0 : 1;
}
- function y(e, t, a, n, s, r) {
+ function R(e, t, a, s, n, r) {
var i = (e >>= 1) % 2;
for (e >>= 1; 0 != e--;) {
- var o, _, l, f, c, u, h, b;
- o = a[n++] * t, _ = a[n++] * t, c = 0 | o, l = a[n++] * t, u = 0 | _, f = a[n++] * t, h = 0 | l, o += S.adj43[c], b = 0 | f, _ += S.adj43[u], s[r++] = 0 | o, l += S.adj43[h], s[r++] = 0 | _, f += S.adj43[b], s[r++] = 0 | l, s[r++] = 0 | f;
+ var o, _, l, f, c, h, u, m;
+ o = a[s++] * t, _ = a[s++] * t, c = 0 | o, l = a[s++] * t, h = 0 | _, f = a[s++] * t, u = 0 | l, o += M.adj43[c], m = 0 | f, _ += M.adj43[h], n[r++] = 0 | o, l += M.adj43[u], n[r++] = 0 | _, f += M.adj43[m], n[r++] = 0 | l, n[r++] = 0 | f;
}
- 0 != i && (o = a[n++] * t, _ = a[n++] * t, c = 0 | o, u = 0 | _, o += S.adj43[c], _ += S.adj43[u], s[r++] = 0 | o, s[r++] = 0 | _);
+ 0 != i && (c = 0 | (o = a[s++] * t), h = 0 | (_ = a[s++] * t), o += M.adj43[c], _ += M.adj43[h], n[r++] = 0 | o, n[r++] = 0 | _);
}
var o = [1, 2, 5, 7, 7, 10, 10, 13, 13, 13, 13, 13, 13, 13, 13];
- function d(e, t, a, n) {
- var s = function (e, t, a) {
- var n = 0,
- s = 0;
+ function d(e, t, a, s) {
+ var n = function (e, t, a) {
+ var s = 0,
+ n = 0;
do {
var r = e[t++],
i = e[t++];
- n < r && (n = r), s < i && (s = i);
+ s < r && (s = r), n < i && (n = i);
} while (t < a);
- return n < s && (n = s), n;
+ return s < n && (s = n), s;
}(e, t, a);
- switch (s) {
+ switch (n) {
case 0:
- return s;
+ return n;
case 1:
- return function (e, t, a, n) {
- var s = 0,
- r = k.ht[1].hlen;
+ return function (e, t, a, s) {
+ var n = 0,
+ r = F.ht[1].hlen;
do {
var i = 2 * e[t + 0] + e[t + 1];
- t += 2, s += r[i];
+ t += 2, n += r[i];
} while (t < a);
- return n.bits += s, 1;
- }(e, t, a, n);
+ return s.bits += n, 1;
+ }(e, t, a, s);
case 2:
case 3:
- return function (e, t, a, n, s) {
+ return function (e, t, a, s, n) {
var r,
i,
o = 0,
- _ = k.ht[n].xlen;
- i = 2 == n ? k.table23 : k.table56;
+ _ = F.ht[s].xlen;
+ i = 2 == s ? F.table23 : F.table56;
do {
var l = e[t + 0] * _ + e[t + 1];
t += 2, o += i[l];
} while (t < a);
- return (r = 65535 & o) < (o >>= 16) && (o = r, n++), s.bits += o, n;
- }(e, t, a, o[s - 1], n);
+ return (r = 65535 & o) < (o >>= 16) && (o = r, s++), n.bits += o, s;
+ }(e, t, a, o[n - 1], s);
case 4:
case 5:
case 6:
@@ -35211,84 +34853,86 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
case 13:
case 14:
case 15:
- return function (e, t, a, n, s) {
+ return function (e, t, a, s, n) {
var r = 0,
i = 0,
o = 0,
- _ = k.ht[n].xlen,
- l = k.ht[n].hlen,
- f = k.ht[n + 1].hlen,
- c = k.ht[n + 2].hlen;
+ _ = F.ht[s].xlen,
+ l = F.ht[s].hlen,
+ f = F.ht[s + 1].hlen,
+ c = F.ht[s + 2].hlen;
do {
- var u = e[t + 0] * _ + e[t + 1];
- t += 2, r += l[u], i += f[u], o += c[u];
+ var h = e[t + 0] * _ + e[t + 1];
+ t += 2, r += l[h], i += f[h], o += c[h];
} while (t < a);
- var h = n;
- return i < r && (r = i, h++), o < r && (r = o, h = n + 2), s.bits += r, h;
- }(e, t, a, o[s - 1], n);
+ var u = s;
+ return i < r && (r = i, u++), o < r && (r = o, u = s + 2), n.bits += r, u;
+ }(e, t, a, o[n - 1], s);
default:
+ if (x.IXMAX_VAL < n) return s.bits = x.LARGE_BITS, -1;
var r, i;
- for (T.IXMAX_VAL < s && me(), s -= 15, r = 24; r < 32 && !(k.ht[r].linmax >= s); r++);
- for (i = r - 8; i < 24 && !(k.ht[i].linmax >= s); i++);
- return function (e, t, a, n, s, r) {
+ for (n -= 15, r = 24; r < 32 && !(F.ht[r].linmax >= n); r++);
+ for (i = r - 8; i < 24 && !(F.ht[i].linmax >= n); i++);
+ return function (e, t, a, s, n, r) {
var i,
- o = 65536 * k.ht[n].xlen + k.ht[s].xlen,
+ o = 65536 * F.ht[s].xlen + F.ht[n].xlen,
_ = 0;
do {
var l = e[t++],
f = e[t++];
- 0 != l && (14 < l && (l = 15, _ += o), l *= 16), 0 != f && (14 < f && (f = 15, _ += o), l += f), _ += k.largetbl[l];
+ 0 != l && (14 < l && (l = 15, _ += o), l *= 16), 0 != f && (14 < f && (f = 15, _ += o), l += f), _ += F.largetbl[l];
} while (t < a);
- return (i = 65535 & _) < (_ >>= 16) && (_ = i, n = s), r.bits += _, n;
- }(e, t, a, i, r, n);
+ return (i = 65535 & _) < (_ >>= 16) && (_ = i, s = n), r.bits += _, s;
+ }(e, t, a, i, r, s);
}
}
- function h(e, t, a, n, s, r, i, o) {
- for (var _ = t.big_values, l = 2; l < Ae.SBMAX_l + 1; l++) {
+ function u(e, t, a, s, n, r, i, o) {
+ for (var _ = t.big_values, l = 2; l < Pe.SBMAX_l + 1; l++) {
var f = e.scalefac_band.l[l];
if (_ <= f) break;
- var c = s[l - 2] + t.count1bits;
+ var c = n[l - 2] + t.count1bits;
if (a.part2_3_length <= c) break;
- var u = new v(c),
- h = d(n, f, _, u);
- c = u.bits, a.part2_3_length <= c || (a.assign(t), a.part2_3_length = c, a.region0_count = r[l - 2], a.region1_count = l - 2 - r[l - 2], a.table_select[0] = i[l - 2], a.table_select[1] = o[l - 2], a.table_select[2] = h);
+ var h = new v(c),
+ u = d(s, f, _, h);
+ c = h.bits, a.part2_3_length <= c || (a.assign(t), a.part2_3_length = c, a.region0_count = r[l - 2], a.region1_count = l - 2 - r[l - 2], a.table_select[0] = i[l - 2], a.table_select[1] = o[l - 2], a.table_select[2] = u);
}
}
this.noquant_count_bits = function (e, t, a) {
- var n = t.l3_enc,
- s = Math.min(576, t.max_nonzero_coeff + 2 >> 1 << 1);
- for (null != a && (a.sfb_count1 = 0); 1 < s && 0 == (n[s - 1] | n[s - 2]); s -= 2);
- t.count1 = s;
- for (var r = 0, i = 0; 3 < s; s -= 4) {
+ var s = t.l3_enc,
+ n = Math.min(576, t.max_nonzero_coeff + 2 >> 1 << 1);
+ for (null != a && (a.sfb_count1 = 0); 1 < n && 0 == (s[n - 1] | s[n - 2]); n -= 2);
+ t.count1 = n;
+ for (var r = 0, i = 0; 3 < n; n -= 4) {
var o;
- if (1 < (2147483647 & (n[s - 1] | n[s - 2] | n[s - 3] | n[s - 4]))) break;
- o = 2 * (2 * (2 * n[s - 4] + n[s - 3]) + n[s - 2]) + n[s - 1], r += k.t32l[o], i += k.t33l[o];
+ if (1 < (2147483647 & (s[n - 1] | s[n - 2] | s[n - 3] | s[n - 4]))) break;
+ o = 2 * (2 * (2 * s[n - 4] + s[n - 3]) + s[n - 2]) + s[n - 1], r += F.t32l[o], i += F.t33l[o];
}
var _ = r;
- if (t.count1table_select = 0, i < r && (_ = i, t.count1table_select = 1), t.count1bits = _, 0 == (t.big_values = s)) return _;
- if (t.block_type == Ae.SHORT_TYPE) (r = 3 * e.scalefac_band.s[3]) > t.big_values && (r = t.big_values), i = t.big_values;else if (t.block_type == Ae.NORM_TYPE) {
- if (r = t.region0_count = e.bv_scf[s - 2], i = t.region1_count = e.bv_scf[s - 1], i = e.scalefac_band.l[r + i + 2], r = e.scalefac_band.l[r + 1], i < s) {
+ if (t.count1table_select = 0, i < r && (_ = i, t.count1table_select = 1), t.count1bits = _, 0 == (t.big_values = n)) return _;
+ if (t.block_type == Pe.SHORT_TYPE) (r = 3 * e.scalefac_band.s[3]) > t.big_values && (r = t.big_values), i = t.big_values;else if (t.block_type == Pe.NORM_TYPE) {
+ if (r = t.region0_count = e.bv_scf[n - 2], i = t.region1_count = e.bv_scf[n - 1], i = e.scalefac_band.l[r + i + 2], r = e.scalefac_band.l[r + 1], i < n) {
var l = new v(_);
- t.table_select[2] = d(n, i, s, l), _ = l.bits;
+ t.table_select[2] = d(s, i, n, l), _ = l.bits;
}
- } else t.region0_count = 7, t.region1_count = Ae.SBMAX_l - 1 - 7 - 1, r = e.scalefac_band.l[8], (i = s) < r && (r = i);
- if (r = Math.min(r, s), i = Math.min(i, s), 0 < r) {
- var l = new v(_);
- t.table_select[0] = d(n, 0, r, l), _ = l.bits;
+ } else t.region0_count = 7, t.region1_count = Pe.SBMAX_l - 1 - 7 - 1, (i = n) < (r = e.scalefac_band.l[8]) && (r = i);
+ if (r = Math.min(r, n), i = Math.min(i, n), 0 < r) {
+ l = new v(_);
+ t.table_select[0] = d(s, 0, r, l), _ = l.bits;
}
if (r < i) {
- var l = new v(_);
- t.table_select[1] = d(n, r, i, l), _ = l.bits;
+ l = new v(_);
+ t.table_select[1] = d(s, r, i, l), _ = l.bits;
}
- if (2 == e.use_best_huffman && me(), null != a && t.block_type == Ae.NORM_TYPE) {
+ if (2 == e.use_best_huffman && (t.part2_3_length = _, best_huffman_divide(e, t), _ = t.part2_3_length), null != a && t.block_type == Pe.NORM_TYPE) {
for (var f = 0; e.scalefac_band.l[f] < t.big_values;) f++;
a.sfb_count1 = f;
}
return _;
- }, this.count_bits = function (e, t, a, n) {
- var s = a.l3_enc,
- r = T.IXMAX_VAL / S.IPOW20(a.global_gain);
- return a.xrpow_max > r ? T.LARGE_BITS : (function (e, t, a, n, s) {
+ }, this.count_bits = function (e, t, a, s) {
+ var n = a.l3_enc,
+ r = x.IXMAX_VAL / M.IPOW20(a.global_gain);
+ if (a.xrpow_max > r) return x.LARGE_BITS;
+ if (function (e, t, a, s, n) {
var r,
i,
o,
@@ -35296,123 +34940,127 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
l = 0,
f = 0,
c = 0,
- u = t,
- h = 0,
- b = u,
+ h = t,
+ u = 0,
+ m = h,
p = 0,
- m = e,
+ b = e,
v = 0;
- for (o = null != s && n.global_gain == s.global_gain, i = n.block_type == Ae.SHORT_TYPE ? 38 : 21, r = 0; r <= i; r++) {
+ for (o = null != n && s.global_gain == n.global_gain, i = s.block_type == Pe.SHORT_TYPE ? 38 : 21, r = 0; r <= i; r++) {
var d = -1;
- if ((o || n.block_type == Ae.NORM_TYPE) && (d = n.global_gain - (n.scalefac[r] + (0 != n.preflag ? S.pretab[r] : 0) << n.scalefac_scale + 1) - 8 * n.subblock_gain[n.window[r]]), o && s.step[r] == d) 0 != l && (y(l, a, m, v, b, p), l = 0), 0 != f && me();else {
+ if ((o || s.block_type == Pe.NORM_TYPE) && (d = s.global_gain - (s.scalefac[r] + (0 != s.preflag ? M.pretab[r] : 0) << s.scalefac_scale + 1) - 8 * s.subblock_gain[s.window[r]]), o && n.step[r] == d) 0 != l && (R(l, a, b, v, m, p), l = 0), 0 != f && (w(f, a, b, v, m, p), f = 0);else {
var g,
- w = n.width[r];
- if (_ + n.width[r] > n.max_nonzero_coeff && (g = n.max_nonzero_coeff - _ + 1, we.fill(t, n.max_nonzero_coeff, 576, 0), (w = g) < 0 && (w = 0), r = i + 1), 0 == l && 0 == f && (b = u, p = h, m = e, v = c), null != s && 0 < s.sfb_count1 && r >= s.sfb_count1 && 0 < s.step[r] && d >= s.step[r] ? (0 != l && (y(l, a, m, v, b, p), l = 0, b = u, p = h, m = e, v = c), f += w) : (0 != f && (M(f, a, m, v, b, p), f = 0, b = u, p = h, m = e, v = c), l += w), w <= 0) {
- 0 != f && me(), 0 != l && me();
+ S = s.width[r];
+ if (_ + s.width[r] > s.max_nonzero_coeff && (g = s.max_nonzero_coeff - _ + 1, ye.fill(t, s.max_nonzero_coeff, 576, 0), (S = g) < 0 && (S = 0), r = i + 1), 0 == l && 0 == f && (m = h, p = u, b = e, v = c), null != n && 0 < n.sfb_count1 && r >= n.sfb_count1 && 0 < n.step[r] && d >= n.step[r] ? (0 != l && (R(l, a, b, v, m, p), l = 0, m = h, p = u, b = e, v = c), f += S) : (0 != f && (w(f, a, b, v, m, p), f = 0, m = h, p = u, b = e, v = c), l += S), S <= 0) {
+ 0 != f && (w(f, a, b, v, m, p), f = 0), 0 != l && (R(l, a, b, v, m, p), l = 0);
break;
}
}
- r <= i && (h += n.width[r], c += n.width[r], _ += n.width[r]);
+ r <= i && (u += s.width[r], c += s.width[r], _ += s.width[r]);
}
- 0 != l && (y(l, a, m, v, b, p), l = 0), 0 != f && me();
- }(t, s, S.IPOW20(a.global_gain), a, n), 0 != (2 & e.substep_shaping) && me(), this.noquant_count_bits(e, a, n));
+ 0 != l && (R(l, a, b, v, m, p), l = 0), 0 != f && (w(f, a, b, v, m, p), f = 0);
+ }(t, n, M.IPOW20(a.global_gain), a, s), 0 != (2 & e.substep_shaping)) for (var i = 0, o = a.global_gain + a.scalefac_scale, _ = .634521682242439 / M.IPOW20(o), l = 0; l < a.sfbmax; l++) {
+ var f,
+ c = a.width[l];
+ if (0 == e.pseudohalf[l]) i += c;else for (f = i, i += c; f < i; ++f) n[f] = t[f] >= _ ? n[f] : 0;
+ }
+ return this.noquant_count_bits(e, a, s);
}, this.best_huffman_divide = function (e, t) {
- var a = new B(),
- n = t.l3_enc,
- s = ve(23),
- r = ve(23),
- i = ve(23),
- o = ve(23);
- if (t.block_type != Ae.SHORT_TYPE || 1 != e.mode_gr) {
- a.assign(t), t.block_type == Ae.NORM_TYPE && (function (e, t, a, n, s, r, i) {
- for (var o = t.big_values, _ = 0; _ <= 22; _++) n[_] = T.LARGE_BITS;
- for (var _ = 0; _ < 16; _++) {
+ var a = new T(),
+ s = t.l3_enc,
+ n = Ae(23),
+ r = Ae(23),
+ i = Ae(23),
+ o = Ae(23);
+ if (t.block_type != Pe.SHORT_TYPE || 1 != e.mode_gr) {
+ a.assign(t), t.block_type == Pe.NORM_TYPE && (!function (e, t, a, s, n, r, i) {
+ for (var o = t.big_values, _ = 0; _ <= 22; _++) s[_] = x.LARGE_BITS;
+ for (_ = 0; _ < 16; _++) {
var l = e.scalefac_band.l[_ + 1];
if (o <= l) break;
var f = 0,
c = new v(f),
- u = d(a, 0, l, c);
+ h = d(a, 0, l, c);
f = c.bits;
- for (var h = 0; h < 8; h++) {
- var b = e.scalefac_band.l[_ + h + 2];
- if (o <= b) break;
- var p = f;
- c = new v(p);
- var m = d(a, l, b, c);
- p = c.bits, n[_ + h] > p && (n[_ + h] = p, s[_ + h] = _, r[_ + h] = u, i[_ + h] = m);
+ for (var u = 0; u < 8; u++) {
+ var m = e.scalefac_band.l[_ + u + 2];
+ if (o <= m) break;
+ var p = f,
+ b = d(a, l, m, c = new v(p));
+ p = c.bits, s[_ + u] > p && (s[_ + u] = p, r[(n[_ + u] = _) + u] = h, i[_ + u] = b);
}
}
- }(e, t, n, s, r, i, o), h(e, a, t, n, s, r, i, o));
+ }(e, t, s, n, r, i, o), u(e, a, t, s, n, r, i, o));
var _ = a.big_values;
- if (!(0 == _ || 1 < (n[_ - 2] | n[_ - 1]) || 576 < (_ = t.count1 + 2))) {
+ if (!(0 == _ || 1 < (s[_ - 2] | s[_ - 1]) || 576 < (_ = t.count1 + 2))) {
a.assign(t), a.count1 = _;
for (var l = 0, f = 0; _ > a.big_values; _ -= 4) {
- var c = 2 * (2 * (2 * n[_ - 4] + n[_ - 3]) + n[_ - 2]) + n[_ - 1];
- l += k.t32l[c], f += k.t33l[c];
+ var c = 2 * (2 * (2 * s[_ - 4] + s[_ - 3]) + s[_ - 2]) + s[_ - 1];
+ l += F.t32l[c], f += F.t33l[c];
}
- if (a.big_values = _, a.count1table_select = 0, f < l && (l = f, a.count1table_select = 1), a.count1bits = l, a.block_type == Ae.NORM_TYPE) h(e, a, t, n, s, r, i, o);else {
- if (a.part2_3_length = l, l = e.scalefac_band.l[8], _ < l && (l = _), 0 < l) {
- var u = new v(a.part2_3_length);
- a.table_select[0] = d(n, 0, l, u), a.part2_3_length = u.bits;
+ if (a.big_values = _, a.count1table_select = 0, f < l && (l = f, a.count1table_select = 1), a.count1bits = l, a.block_type == Pe.NORM_TYPE) u(e, a, t, s, n, r, i, o);else {
+ if (a.part2_3_length = l, _ < (l = e.scalefac_band.l[8]) && (l = _), 0 < l) {
+ var h = new v(a.part2_3_length);
+ a.table_select[0] = d(s, 0, l, h), a.part2_3_length = h.bits;
}
if (l < _) {
- var u = new v(a.part2_3_length);
- a.table_select[1] = d(n, l, _, u), a.part2_3_length = u.bits;
+ h = new v(a.part2_3_length);
+ a.table_select[1] = d(s, l, _, h), a.part2_3_length = h.bits;
}
t.part2_3_length > a.part2_3_length && t.assign(a);
}
}
}
};
- var u = [1, 1, 1, 1, 8, 2, 2, 2, 4, 4, 4, 8, 8, 8, 16, 16],
- b = [1, 2, 4, 8, 1, 2, 4, 8, 2, 4, 8, 2, 4, 8, 4, 8],
+ var h = [1, 1, 1, 1, 8, 2, 2, 2, 4, 4, 4, 8, 8, 8, 16, 16],
+ m = [1, 2, 4, 8, 1, 2, 4, 8, 2, 4, 8, 2, 4, 8, 4, 8],
p = [0, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4],
- m = [0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3];
- A.slen1_tab = p, A.slen2_tab = m, this.best_scalefac_store = function (e, t, a, n) {
- var s,
+ b = [0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3];
+ k.slen1_tab = p, k.slen2_tab = b, this.best_scalefac_store = function (e, t, a, s) {
+ var n,
r,
i,
o,
- _ = n.tt[t][a],
+ _ = s.tt[t][a],
l = 0;
- for (s = i = 0; s < _.sfbmax; s++) {
- var f = _.width[s];
+ for (n = i = 0; n < _.sfbmax; n++) {
+ var f = _.width[n];
for (i += f, o = -f; o < 0 && 0 == _.l3_enc[o + i]; o++);
- 0 == o && (_.scalefac[s] = l = -2);
+ 0 == o && (_.scalefac[n] = l = -2);
}
if (0 == _.scalefac_scale && 0 == _.preflag) {
var c = 0;
- for (s = 0; s < _.sfbmax; s++) 0 < _.scalefac[s] && (c |= _.scalefac[s]);
+ for (n = 0; n < _.sfbmax; n++) 0 < _.scalefac[n] && (c |= _.scalefac[n]);
if (0 == (1 & c) && 0 != c) {
- for (s = 0; s < _.sfbmax; s++) 0 < _.scalefac[s] && (_.scalefac[s] >>= 1);
+ for (n = 0; n < _.sfbmax; n++) 0 < _.scalefac[n] && (_.scalefac[n] >>= 1);
_.scalefac_scale = l = 1;
}
}
- if (0 == _.preflag && _.block_type != Ae.SHORT_TYPE && 2 == e.mode_gr) {
- for (s = 11; s < Ae.SBPSY_l && !(_.scalefac[s] < S.pretab[s] && -2 != _.scalefac[s]); s++);
- if (s == Ae.SBPSY_l) {
- for (s = 11; s < Ae.SBPSY_l; s++) 0 < _.scalefac[s] && (_.scalefac[s] -= S.pretab[s]);
+ if (0 == _.preflag && _.block_type != Pe.SHORT_TYPE && 2 == e.mode_gr) {
+ for (n = 11; n < Pe.SBPSY_l && !(_.scalefac[n] < M.pretab[n] && -2 != _.scalefac[n]); n++);
+ if (n == Pe.SBPSY_l) {
+ for (n = 11; n < Pe.SBPSY_l; n++) 0 < _.scalefac[n] && (_.scalefac[n] -= M.pretab[n]);
_.preflag = l = 1;
}
}
- for (r = 0; r < 4; r++) n.scfsi[a][r] = 0;
- for (2 == e.mode_gr && 1 == t && n.tt[0][a].block_type != Ae.SHORT_TYPE && n.tt[1][a].block_type != Ae.SHORT_TYPE && (function (e, t) {
- for (var a, n = t.tt[1][e], s = t.tt[0][e], r = 0; r < k.scfsi_band.length - 1; r++) {
- for (a = k.scfsi_band[r]; a < k.scfsi_band[r + 1] && !(s.scalefac[a] != n.scalefac[a] && 0 <= n.scalefac[a]); a++);
- if (a == k.scfsi_band[r + 1]) {
- for (a = k.scfsi_band[r]; a < k.scfsi_band[r + 1]; a++) n.scalefac[a] = -1;
+ for (r = 0; r < 4; r++) s.scfsi[a][r] = 0;
+ for (2 == e.mode_gr && 1 == t && s.tt[0][a].block_type != Pe.SHORT_TYPE && s.tt[1][a].block_type != Pe.SHORT_TYPE && (!function (e, t) {
+ for (var a, s = t.tt[1][e], n = t.tt[0][e], r = 0; r < F.scfsi_band.length - 1; r++) {
+ for (a = F.scfsi_band[r]; a < F.scfsi_band[r + 1] && !(n.scalefac[a] != s.scalefac[a] && 0 <= s.scalefac[a]); a++);
+ if (a == F.scfsi_band[r + 1]) {
+ for (a = F.scfsi_band[r]; a < F.scfsi_band[r + 1]; a++) s.scalefac[a] = -1;
t.scfsi[e][r] = 1;
}
}
var i = 0,
o = 0;
- for (a = 0; a < 11; a++) -1 != n.scalefac[a] && (o++, i < n.scalefac[a] && (i = n.scalefac[a]));
- for (var _ = 0, l = 0; a < Ae.SBPSY_l; a++) -1 != n.scalefac[a] && (l++, _ < n.scalefac[a] && (_ = n.scalefac[a]));
- for (var r = 0; r < 16; r++) if (i < u[r] && _ < b[r]) {
- var f = p[r] * o + m[r] * l;
- n.part2_length > f && (n.part2_length = f, n.scalefac_compress = r);
+ for (a = 0; a < 11; a++) -1 != s.scalefac[a] && (o++, i < s.scalefac[a] && (i = s.scalefac[a]));
+ for (var _ = 0, l = 0; a < Pe.SBPSY_l; a++) -1 != s.scalefac[a] && (l++, _ < s.scalefac[a] && (_ = s.scalefac[a]));
+ for (r = 0; r < 16; r++) if (i < h[r] && _ < m[r]) {
+ var f = p[r] * o + b[r] * l;
+ s.part2_length > f && (s.part2_length = f, s.scalefac_compress = r);
}
- }(a, n), l = 0), s = 0; s < _.sfbmax; s++) -2 == _.scalefac[s] && (_.scalefac[s] = 0);
+ }(a, s), l = 0), n = 0; n < _.sfbmax; n++) -2 == _.scalefac[n] && (_.scalefac[n] = 0);
0 != l && (2 == e.mode_gr ? this.scale_bitcount(_) : this.scale_bitcount_lsf(e, _));
};
var _ = [0, 18, 36, 54, 54, 36, 54, 72, 54, 72, 90, 72, 90, 108, 108, 126],
@@ -35421,458 +35069,476 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
this.scale_bitcount = function (e) {
var t,
a,
- n,
- s = 0,
+ s,
+ n = 0,
r = 0,
i = e.scalefac;
- if (e.block_type == Ae.SHORT_TYPE) n = _, 0 != e.mixed_block_flag && (n = l);else if (n = f, 0 == e.preflag) {
- for (a = 11; a < Ae.SBPSY_l && !(i[a] < S.pretab[a]); a++);
- if (a == Ae.SBPSY_l) for (e.preflag = 1, a = 11; a < Ae.SBPSY_l; a++) i[a] -= S.pretab[a];
+ if (e.block_type == Pe.SHORT_TYPE) s = _, 0 != e.mixed_block_flag && (s = l);else if (s = f, 0 == e.preflag) {
+ for (a = 11; a < Pe.SBPSY_l && !(i[a] < M.pretab[a]); a++);
+ if (a == Pe.SBPSY_l) for (e.preflag = 1, a = 11; a < Pe.SBPSY_l; a++) i[a] -= M.pretab[a];
}
- for (a = 0; a < e.sfbdivide; a++) s < i[a] && (s = i[a]);
+ for (a = 0; a < e.sfbdivide; a++) n < i[a] && (n = i[a]);
for (; a < e.sfbmax; a++) r < i[a] && (r = i[a]);
- for (e.part2_length = T.LARGE_BITS, t = 0; t < 16; t++) s < u[t] && r < b[t] && e.part2_length > n[t] && (e.part2_length = n[t], e.scalefac_compress = t);
- return e.part2_length == T.LARGE_BITS;
+ for (e.part2_length = x.LARGE_BITS, t = 0; t < 16; t++) n < h[t] && r < m[t] && e.part2_length > s[t] && (e.part2_length = s[t], e.scalefac_compress = t);
+ return e.part2_length == x.LARGE_BITS;
};
var g = [[15, 15, 7, 7], [15, 15, 7, 0], [7, 3, 0, 0], [15, 31, 31, 0], [7, 7, 7, 0], [3, 3, 0, 0]];
this.scale_bitcount_lsf = function (e, t) {
var a,
- n,
s,
+ n,
r,
i,
o,
_,
l,
- f = ve(4),
+ f = Ae(4),
c = t.scalefac;
for (a = 0 != t.preflag ? 2 : 0, _ = 0; _ < 4; _++) f[_] = 0;
- if (t.block_type == Ae.SHORT_TYPE) {
- n = 1;
- var u = S.nr_of_sfb_block[a][n];
- for (s = l = 0; s < 4; s++) for (r = u[s] / 3, _ = 0; _ < r; _++, l++) for (i = 0; i < 3; i++) c[3 * l + i] > f[s] && (f[s] = c[3 * l + i]);
+ if (t.block_type == Pe.SHORT_TYPE) {
+ s = 1;
+ var h = M.nr_of_sfb_block[a][s];
+ for (n = l = 0; n < 4; n++) for (r = h[n] / 3, _ = 0; _ < r; _++, l++) for (i = 0; i < 3; i++) c[3 * l + i] > f[n] && (f[n] = c[3 * l + i]);
} else {
- n = 0;
- var u = S.nr_of_sfb_block[a][n];
- for (s = l = 0; s < 4; s++) for (r = u[s], _ = 0; _ < r; _++, l++) c[l] > f[s] && (f[s] = c[l]);
+ s = 0;
+ h = M.nr_of_sfb_block[a][s];
+ for (n = l = 0; n < 4; n++) for (r = h[n], _ = 0; _ < r; _++, l++) c[l] > f[n] && (f[n] = c[l]);
}
- for (o = !1, s = 0; s < 4; s++) f[s] > g[a][s] && (o = !0);
+ for (o = !1, n = 0; n < 4; n++) f[n] > g[a][n] && (o = !0);
if (!o) {
- var h, b, p, m;
- for (t.sfb_partition_table = S.nr_of_sfb_block[a][n], s = 0; s < 4; s++) t.slen[s] = w[f[s]];
- switch (h = t.slen[0], b = t.slen[1], p = t.slen[2], m = t.slen[3], a) {
+ var u, m, p, b;
+ for (t.sfb_partition_table = M.nr_of_sfb_block[a][s], n = 0; n < 4; n++) t.slen[n] = S[f[n]];
+ switch (u = t.slen[0], m = t.slen[1], p = t.slen[2], b = t.slen[3], a) {
case 0:
- t.scalefac_compress = (5 * h + b << 4) + (p << 2) + m;
+ t.scalefac_compress = (5 * u + m << 4) + (p << 2) + b;
break;
case 1:
- t.scalefac_compress = 400 + (5 * h + b << 2) + p;
+ t.scalefac_compress = 400 + (5 * u + m << 2) + p;
break;
case 2:
- t.scalefac_compress = 500 + 3 * h + b;
+ t.scalefac_compress = 500 + 3 * u + m;
+ break;
+ default:
+ $.err.printf("intensity stereo not implemented yet\n");
}
}
- if (!o) for (t.part2_length = 0, s = 0; s < 4; s++) t.part2_length += t.slen[s] * t.sfb_partition_table[s];
+ if (!o) for (n = t.part2_length = 0; n < 4; n++) t.part2_length += t.slen[n] * t.sfb_partition_table[n];
return o;
};
- var w = [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4];
+ var S = [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4];
this.huffman_init = function (e) {
for (var t = 2; t <= 576; t += 2) {
- for (var a, n = 0; e.scalefac_band.l[++n] < t;);
- for (a = s[n][0]; e.scalefac_band.l[a + 1] > t;) a--;
- for (a < 0 && (a = s[n][0]), e.bv_scf[t - 2] = a, a = s[n][1]; e.scalefac_band.l[a + e.bv_scf[t - 2] + 2] > t;) a--;
- a < 0 && (a = s[n][1]), e.bv_scf[t - 1] = a;
+ for (var a, s = 0; e.scalefac_band.l[++s] < t;);
+ for (a = n[s][0]; e.scalefac_band.l[a + 1] > t;) a--;
+ for (a < 0 && (a = n[s][0]), e.bv_scf[t - 2] = a, a = n[s][1]; e.scalefac_band.l[a + e.bv_scf[t - 2] + 2] > t;) a--;
+ a < 0 && (a = n[s][1]), e.bv_scf[t - 1] = a;
}
};
}
- function O() {}
- function y() {
- this.setModules = function (e, t, a) {};
+ function X() {}
+ function M() {
+ this.setModules = function (e, t, a) {
+ };
var o = [0, 49345, 49537, 320, 49921, 960, 640, 49729, 50689, 1728, 1920, 51009, 1280, 50625, 50305, 1088, 52225, 3264, 3456, 52545, 3840, 53185, 52865, 3648, 2560, 51905, 52097, 2880, 51457, 2496, 2176, 51265, 55297, 6336, 6528, 55617, 6912, 56257, 55937, 6720, 7680, 57025, 57217, 8e3, 56577, 7616, 7296, 56385, 5120, 54465, 54657, 5440, 55041, 6080, 5760, 54849, 53761, 4800, 4992, 54081, 4352, 53697, 53377, 4160, 61441, 12480, 12672, 61761, 13056, 62401, 62081, 12864, 13824, 63169, 63361, 14144, 62721, 13760, 13440, 62529, 15360, 64705, 64897, 15680, 65281, 16320, 16e3, 65089, 64001, 15040, 15232, 64321, 14592, 63937, 63617, 14400, 10240, 59585, 59777, 10560, 60161, 11200, 10880, 59969, 60929, 11968, 12160, 61249, 11520, 60865, 60545, 11328, 58369, 9408, 9600, 58689, 9984, 59329, 59009, 9792, 8704, 58049, 58241, 9024, 57601, 8640, 8320, 57409, 40961, 24768, 24960, 41281, 25344, 41921, 41601, 25152, 26112, 42689, 42881, 26432, 42241, 26048, 25728, 42049, 27648, 44225, 44417, 27968, 44801, 28608, 28288, 44609, 43521, 27328, 27520, 43841, 26880, 43457, 43137, 26688, 30720, 47297, 47489, 31040, 47873, 31680, 31360, 47681, 48641, 32448, 32640, 48961, 32e3, 48577, 48257, 31808, 46081, 29888, 30080, 46401, 30464, 47041, 46721, 30272, 29184, 45761, 45953, 29504, 45313, 29120, 28800, 45121, 20480, 37057, 37249, 20800, 37633, 21440, 21120, 37441, 38401, 22208, 22400, 38721, 21760, 38337, 38017, 21568, 39937, 23744, 23936, 40257, 24320, 40897, 40577, 24128, 23040, 39617, 39809, 23360, 39169, 22976, 22656, 38977, 34817, 18624, 18816, 35137, 19200, 35777, 35457, 19008, 19968, 36545, 36737, 20288, 36097, 19904, 19584, 35905, 17408, 33985, 34177, 17728, 34561, 18368, 18048, 34369, 33281, 17088, 17280, 33601, 16640, 33217, 32897, 16448];
- this.updateMusicCRC = function (e, t, a, n) {
- for (var s = 0; s < n; ++s) e[0] = (r = t[a + s], i = (i = e[0]) >> 8 ^ o[255 & (i ^ r)]);
+ this.updateMusicCRC = function (e, t, a, s) {
+ for (var n = 0; n < s; ++n) e[0] = (r = t[a + n], i = (i = e[0]) >> 8 ^ o[255 & (i ^ r)]);
var r, i;
};
}
- function N() {
- var i = this,
+ function q() {
+ var _ = this,
+ s = 32773,
+ c = null,
+ h = null,
r = null,
- o = null;
- this.setModules = function (e, t, a, n) {
- r = a, o = n;
+ u = null;
+ this.setModules = function (e, t, a, s) {
+ c = e, h = t, r = a, u = s;
};
- var _ = null,
+ var m = null,
l = 0,
- f = 0,
- c = 0;
+ p = 0,
+ b = 0;
function v(e, t, a) {
for (; 0 < a;) {
- var n;
- 0 == c && (c = 8, f++, e.header[e.w_ptr].write_timing == l && (s = e, I.arraycopy(s.header[s.w_ptr].buf, 0, _, f, s.sideinfo_len), f += s.sideinfo_len, l += 8 * s.sideinfo_len, s.w_ptr = s.w_ptr + 1 & j.MAX_HEADER_BUF - 1), _[f] = 0), n = Math.min(a, c), a -= n, c -= n, _[f] |= t >> a << c, l += n;
+ var s;
+ 0 == b && (b = 8, p++, e.header[e.w_ptr].write_timing == l && (n = e, $.arraycopy(n.header[n.w_ptr].buf, 0, m, p, n.sideinfo_len), p += n.sideinfo_len, l += 8 * n.sideinfo_len, n.w_ptr = n.w_ptr + 1 & Z.MAX_HEADER_BUF - 1), m[p] = 0), a -= s = Math.min(a, b), b -= s, m[p] |= t >> a << b, l += s;
}
- var s;
+ var n;
}
- function u(e, t) {
+ function i(e, t, a) {
+ for (; 0 < a;) {
+ var s;
+ 0 == b && (b = 8, m[++p] = 0), a -= s = Math.min(a, b), b -= s, m[p] |= t >> a << b, l += s;
+ }
+ }
+ function o(e, t) {
var a,
- n = e.internal_flags;
- if (8 <= t && (v(n, 76, 8), t -= 8), 8 <= t && (v(n, 65, 8), t -= 8), 8 <= t && (v(n, 77, 8), t -= 8), 8 <= t && (v(n, 69, 8), t -= 8), 32 <= t) {
- var s = r.getLameShortVersion();
- if (32 <= t) for (a = 0; a < s.length && 8 <= t; ++a) t -= 8, v(n, s.charCodeAt(a), 8);
+ s = e.internal_flags;
+ if (8 <= t && (v(s, 76, 8), t -= 8), 8 <= t && (v(s, 65, 8), t -= 8), 8 <= t && (v(s, 77, 8), t -= 8), 8 <= t && (v(s, 69, 8), t -= 8), 32 <= t) {
+ var n = r.getLameShortVersion();
+ if (32 <= t) for (a = 0; a < n.length && 8 <= t; ++a) t -= 8, v(s, n.charCodeAt(a), 8);
}
- for (; 1 <= t; t -= 1) v(n, n.ancillary_flag, 1), n.ancillary_flag ^= e.disable_reservoir ? 0 : 1;
+ for (; 1 <= t; t -= 1) v(s, s.ancillary_flag, 1), s.ancillary_flag ^= e.disable_reservoir ? 0 : 1;
}
- function h(e, t, a) {
- for (var n = e.header[e.h_ptr].ptr; 0 < a;) {
- var s = Math.min(a, 8 - (7 & n));
- a -= s, e.header[e.h_ptr].buf[n >> 3] |= t >> a << 8 - (7 & n) - s, n += s;
+ function f(e, t, a) {
+ for (var s = e.header[e.h_ptr].ptr; 0 < a;) {
+ var n = Math.min(a, 8 - (7 & s));
+ a -= n, e.header[e.h_ptr].buf[s >> 3] |= t >> a << 8 - (7 & s) - n, s += n;
}
- e.header[e.h_ptr].ptr = n;
+ e.header[e.h_ptr].ptr = s;
}
- function m(e, t) {
+ function n(e, t) {
+ e <<= 8;
+ for (var a = 0; a < 8; a++) 0 != (65536 & ((t <<= 1) ^ (e <<= 1))) && (t ^= s);
+ return t;
+ }
+ function d(e, t) {
var a,
- n = k.ht[t.count1table_select + 32],
- s = 0,
+ s = F.ht[t.count1table_select + 32],
+ n = 0,
r = t.big_values,
i = t.big_values;
for (a = (t.count1 - t.big_values) / 4; 0 < a; --a) {
var o = 0,
_ = 0;
- 0 != t.l3_enc[r + 0] && (_ += 8, t.xr[i + 0] < 0 && o++), 0 != t.l3_enc[r + 1] && (_ += 4, o *= 2, t.xr[i + 1] < 0 && o++), 0 != t.l3_enc[r + 2] && (_ += 2, o *= 2, t.xr[i + 2] < 0 && o++), 0 != t.l3_enc[r + 3] && (_++, o *= 2, t.xr[i + 3] < 0 && o++), r += 4, i += 4, v(e, o + n.table[_], n.hlen[_]), s += n.hlen[_];
+ 0 != t.l3_enc[r + 0] && (_ += 8, t.xr[i + 0] < 0 && o++), 0 != t.l3_enc[r + 1] && (_ += 4, o *= 2, t.xr[i + 1] < 0 && o++), 0 != t.l3_enc[r + 2] && (_ += 2, o *= 2, t.xr[i + 2] < 0 && o++), 0 != t.l3_enc[r + 3] && (_++, o *= 2, t.xr[i + 3] < 0 && o++), r += 4, i += 4, v(e, o + s.table[_], s.hlen[_]), n += s.hlen[_];
}
- return s;
+ return n;
}
- function b(e, t, a, n, s) {
- var r = k.ht[t],
+ function g(e, t, a, s, n) {
+ var r = F.ht[t],
i = 0;
if (0 == t) return i;
- for (var o = a; o < n; o += 2) {
+ for (var o = a; o < s; o += 2) {
var _ = 0,
l = 0,
f = r.xlen,
c = r.xlen,
- u = 0,
- h = s.l3_enc[o],
- b = s.l3_enc[o + 1];
- if (0 != h && (s.xr[o] < 0 && u++, _--), 15 < t) {
- if (14 < h) {
- var p = h - 15;
- u |= p << 1, l = f, h = 15;
- }
- if (14 < b) {
- var m = b - 15;
- u <<= f, u |= m, l += f, b = 15;
- }
+ h = 0,
+ u = n.l3_enc[o],
+ m = n.l3_enc[o + 1];
+ if (0 != u && (n.xr[o] < 0 && h++, _--), 15 < t) {
+ if (14 < u) h |= u - 15 << 1, l = f, u = 15;
+ if (14 < m) h <<= f, h |= m - 15, l += f, m = 15;
c = 16;
}
- 0 != b && (u <<= 1, s.xr[o + 1] < 0 && u++, _--), h = h * c + b, l -= _, _ += r.hlen[h], v(e, r.table[h], _), v(e, u, l), i += _ + l;
+ 0 != m && (h <<= 1, n.xr[o + 1] < 0 && h++, _--), u = u * c + m, l -= _, _ += r.hlen[u], v(e, r.table[u], _), v(e, h, l), i += _ + l;
}
return i;
}
- function d(e, t) {
+ function S(e, t) {
var a = 3 * e.scalefac_band.s[3];
a > t.big_values && (a = t.big_values);
- var n = b(e, t.table_select[0], 0, a, t);
- return n += b(e, t.table_select[1], a, t.big_values, t);
+ var s = g(e, t.table_select[0], 0, a, t);
+ return s += g(e, t.table_select[1], a, t.big_values, t);
}
- function g(e, t) {
- var a, n, s, r;
+ function M(e, t) {
+ var a, s, n, r;
a = t.big_values;
var i = t.region0_count + 1;
- return s = e.scalefac_band.l[i], i += t.region1_count + 1, r = e.scalefac_band.l[i], a < s && (s = a), a < r && (r = a), n = b(e, t.table_select[0], 0, s, t), n += b(e, t.table_select[1], s, r, t), n += b(e, t.table_select[2], r, a, t);
+ return n = e.scalefac_band.l[i], i += t.region1_count + 1, a < n && (n = a), a < (r = e.scalefac_band.l[i]) && (r = a), s = g(e, t.table_select[0], 0, n, t), s += g(e, t.table_select[1], n, r, t), s += g(e, t.table_select[2], r, a, t);
}
- function p() {
+ function w() {
this.total = 0;
}
- function w(e, t) {
+ function R(e, t) {
var a,
- n,
s,
- r = e.internal_flags;
- return r.w_ptr, -1 == (s = r.h_ptr - 1) && (s = j.MAX_HEADER_BUF - 1), a = r.header[s].write_timing - l, 0 <= (t.total = a) && me(), n = i.getframebits(e), a += n, t.total += n, t.total % 8 != 0 ? t.total = 1 + t.total / 8 : t.total = t.total / 8, t.total += f + 1, a;
+ n,
+ r,
+ i,
+ o = e.internal_flags;
+ return i = o.w_ptr, -1 == (r = o.h_ptr - 1) && (r = Z.MAX_HEADER_BUF - 1), a = o.header[r].write_timing - l, 0 <= (t.total = a) && (s = 1 + r - i, r < i && (s = 1 + r - i + Z.MAX_HEADER_BUF), a -= 8 * s * o.sideinfo_len), a += n = _.getframebits(e), t.total += n, t.total % 8 != 0 ? t.total = 1 + t.total / 8 : t.total = t.total / 8, t.total += p + 1, a < 0 && $.err.println("strange error flushing buffer ... \n"), a;
}
this.getframebits = function (e) {
var t,
a = e.internal_flags;
- t = 0 != a.bitrate_index ? k.bitrate_table[e.version][a.bitrate_index] : e.brate;
- var n = 0 | 72e3 * (e.version + 1) * t / e.out_samplerate + a.padding;
- return 8 * n;
+ return t = 0 != a.bitrate_index ? F.bitrate_table[e.version][a.bitrate_index] : e.brate, 8 * (0 | 72e3 * (e.version + 1) * t / e.out_samplerate + a.padding);
+ }, this.CRC_writeheader = function (e, t) {
+ var a = 65535;
+ a = n(255 & t[2], a), a = n(255 & t[3], a);
+ for (var s = 6; s < e.sideinfo_len; s++) a = n(255 & t[s], a);
+ t[4] = byte(a >> 8), t[5] = byte(255 & a);
}, this.flush_bitstream = function (e) {
var t,
a,
- n = e.internal_flags;
- n.h_ptr - 1;
- t = n.l3_side, (a = w(e, new p())) < 0 || (u(e, a), n.ResvSize = 0, t.main_data_begin = 0, n.findReplayGain && me(), n.findPeakSample && me());
+ s = e.internal_flags;
+ s.h_ptr - 1;
+ if (t = s.l3_side, !((a = R(e, new w())) < 0)) {
+ if (o(e, a), s.ResvSize = 0, t.main_data_begin = 0, s.findReplayGain) {
+ var r = c.GetTitleGain(s.rgdata);
+ s.RadioGain = 0 | Math.floor(10 * r + .5);
+ }
+ s.findPeakSample && (s.noclipGainChange = 0 | Math.ceil(20 * B(s.PeakSample / 32767) * 10), 0 < s.noclipGainChange && (EQ(e.scale, 1) || EQ(e.scale, 0)) ? s.noclipScale = Math.floor(32767 / s.PeakSample * 100) / 100 : s.noclipScale = -1);
+ }
+ }, this.add_dummy_byte = function (e, t, a) {
+ for (var s, n = e.internal_flags; 0 < a--;) for (i(0, t, 8), s = 0; s < Z.MAX_HEADER_BUF; ++s) n.header[s].write_timing += 8;
}, this.format_bitstream = function (e) {
var t,
a = e.internal_flags;
t = a.l3_side;
- var n = this.getframebits(e);
- u(e, t.resvDrain_pre), function (e, t) {
+ var s = this.getframebits(e);
+ o(e, t.resvDrain_pre), function (e, t) {
var a,
- n,
s,
+ n,
r = e.internal_flags;
- if (a = r.l3_side, r.header[r.h_ptr].ptr = 0, we.fill(r.header[r.h_ptr].buf, 0, r.sideinfo_len, 0), e.out_samplerate < 16e3 ? h(r, 4094, 12) : h(r, 4095, 12), h(r, e.version, 1), h(r, 1, 2), h(r, e.error_protection ? 0 : 1, 1), h(r, r.bitrate_index, 4), h(r, r.samplerate_index, 2), h(r, r.padding, 1), h(r, e.extension, 1), h(r, e.mode.ordinal(), 2), h(r, r.mode_ext, 2), h(r, e.copyright, 1), h(r, e.original, 1), h(r, e.emphasis, 2), e.error_protection && h(r, 0, 16), 1 == e.version) {
- for (h(r, a.main_data_begin, 9), 2 == r.channels_out ? h(r, a.private_bits, 3) : h(r, a.private_bits, 5), s = 0; s < r.channels_out; s++) {
+ if (a = r.l3_side, r.header[r.h_ptr].ptr = 0, ye.fill(r.header[r.h_ptr].buf, 0, r.sideinfo_len, 0), e.out_samplerate < 16e3 ? f(r, 4094, 12) : f(r, 4095, 12), f(r, e.version, 1), f(r, 1, 2), f(r, e.error_protection ? 0 : 1, 1), f(r, r.bitrate_index, 4), f(r, r.samplerate_index, 2), f(r, r.padding, 1), f(r, e.extension, 1), f(r, e.mode.ordinal(), 2), f(r, r.mode_ext, 2), f(r, e.copyright, 1), f(r, e.original, 1), f(r, e.emphasis, 2), e.error_protection && f(r, 0, 16), 1 == e.version) {
+ for (f(r, a.main_data_begin, 9), 2 == r.channels_out ? f(r, a.private_bits, 3) : f(r, a.private_bits, 5), n = 0; n < r.channels_out; n++) {
var i;
- for (i = 0; i < 4; i++) h(r, a.scfsi[s][i], 1);
+ for (i = 0; i < 4; i++) f(r, a.scfsi[n][i], 1);
}
- for (n = 0; n < 2; n++) for (s = 0; s < r.channels_out; s++) {
- var o = a.tt[n][s];
- h(r, o.part2_3_length + o.part2_length, 12), h(r, o.big_values / 2, 9), h(r, o.global_gain, 8), h(r, o.scalefac_compress, 4), o.block_type != Ae.NORM_TYPE ? (h(r, 1, 1), h(r, o.block_type, 2), h(r, o.mixed_block_flag, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), h(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), h(r, o.table_select[1], 5), h(r, o.subblock_gain[0], 3), h(r, o.subblock_gain[1], 3), h(r, o.subblock_gain[2], 3)) : (h(r, 0, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), h(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), h(r, o.table_select[1], 5), 14 == o.table_select[2] && (o.table_select[2] = 16), h(r, o.table_select[2], 5), h(r, o.region0_count, 4), h(r, o.region1_count, 3)), h(r, o.preflag, 1), h(r, o.scalefac_scale, 1), h(r, o.count1table_select, 1);
- }
- } else for (h(r, a.main_data_begin, 8), h(r, a.private_bits, r.channels_out), s = n = 0; s < r.channels_out; s++) {
- var o = a.tt[n][s];
- h(r, o.part2_3_length + o.part2_length, 12), h(r, o.big_values / 2, 9), h(r, o.global_gain, 8), h(r, o.scalefac_compress, 9), o.block_type != Ae.NORM_TYPE ? (h(r, 1, 1), h(r, o.block_type, 2), h(r, o.mixed_block_flag, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), h(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), h(r, o.table_select[1], 5), h(r, o.subblock_gain[0], 3), h(r, o.subblock_gain[1], 3), h(r, o.subblock_gain[2], 3)) : (h(r, 0, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), h(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), h(r, o.table_select[1], 5), 14 == o.table_select[2] && (o.table_select[2] = 16), h(r, o.table_select[2], 5), h(r, o.region0_count, 4), h(r, o.region1_count, 3)), h(r, o.scalefac_scale, 1), h(r, o.count1table_select, 1);
+ for (s = 0; s < 2; s++) for (n = 0; n < r.channels_out; n++) f(r, (o = a.tt[s][n]).part2_3_length + o.part2_length, 12), f(r, o.big_values / 2, 9), f(r, o.global_gain, 8), f(r, o.scalefac_compress, 4), o.block_type != Pe.NORM_TYPE ? (f(r, 1, 1), f(r, o.block_type, 2), f(r, o.mixed_block_flag, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), f(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), f(r, o.table_select[1], 5), f(r, o.subblock_gain[0], 3), f(r, o.subblock_gain[1], 3), f(r, o.subblock_gain[2], 3)) : (f(r, 0, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), f(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), f(r, o.table_select[1], 5), 14 == o.table_select[2] && (o.table_select[2] = 16), f(r, o.table_select[2], 5), f(r, o.region0_count, 4), f(r, o.region1_count, 3)), f(r, o.preflag, 1), f(r, o.scalefac_scale, 1), f(r, o.count1table_select, 1);
+ } else for (f(r, a.main_data_begin, 8), f(r, a.private_bits, r.channels_out), n = s = 0; n < r.channels_out; n++) {
+ var o;
+ f(r, (o = a.tt[s][n]).part2_3_length + o.part2_length, 12), f(r, o.big_values / 2, 9), f(r, o.global_gain, 8), f(r, o.scalefac_compress, 9), o.block_type != Pe.NORM_TYPE ? (f(r, 1, 1), f(r, o.block_type, 2), f(r, o.mixed_block_flag, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), f(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), f(r, o.table_select[1], 5), f(r, o.subblock_gain[0], 3), f(r, o.subblock_gain[1], 3), f(r, o.subblock_gain[2], 3)) : (f(r, 0, 1), 14 == o.table_select[0] && (o.table_select[0] = 16), f(r, o.table_select[0], 5), 14 == o.table_select[1] && (o.table_select[1] = 16), f(r, o.table_select[1], 5), 14 == o.table_select[2] && (o.table_select[2] = 16), f(r, o.table_select[2], 5), f(r, o.region0_count, 4), f(r, o.region1_count, 3)), f(r, o.scalefac_scale, 1), f(r, o.count1table_select, 1);
}
- e.error_protection && me();
+ e.error_protection && CRC_writeheader(r, r.header[r.h_ptr].buf);
var _ = r.h_ptr;
- r.h_ptr = _ + 1 & j.MAX_HEADER_BUF - 1, r.header[r.h_ptr].write_timing = r.header[_].write_timing + t, r.h_ptr, r.w_ptr;
- }(e, n);
- var s = 8 * a.sideinfo_len;
- if (s += function (e) {
+ r.h_ptr = _ + 1 & Z.MAX_HEADER_BUF - 1, r.header[r.h_ptr].write_timing = r.header[_].write_timing + t, r.h_ptr == r.w_ptr && $.err.println("Error: MAX_HEADER_BUF too small in bitstream.c \n");
+ }(e, s);
+ var n = 8 * a.sideinfo_len;
+ if (n += function (e) {
var t,
a,
- n,
s,
+ n,
r = 0,
i = e.internal_flags,
o = i.l3_side;
if (1 == e.version) for (t = 0; t < 2; t++) for (a = 0; a < i.channels_out; a++) {
var _ = o.tt[t][a],
- l = A.slen1_tab[_.scalefac_compress],
- f = A.slen2_tab[_.scalefac_compress];
- for (n = s = 0; n < _.sfbdivide; n++) -1 != _.scalefac[n] && (v(i, _.scalefac[n], l), s += l);
- for (; n < _.sfbmax; n++) -1 != _.scalefac[n] && (v(i, _.scalefac[n], f), s += f);
- _.block_type == Ae.SHORT_TYPE ? s += d(i, _) : s += g(i, _), s += m(i, _), r += s;
+ l = k.slen1_tab[_.scalefac_compress],
+ f = k.slen2_tab[_.scalefac_compress];
+ for (s = n = 0; s < _.sfbdivide; s++) -1 != _.scalefac[s] && (v(i, _.scalefac[s], l), n += l);
+ for (; s < _.sfbmax; s++) -1 != _.scalefac[s] && (v(i, _.scalefac[s], f), n += f);
+ _.block_type == Pe.SHORT_TYPE ? n += S(i, _) : n += M(i, _), r += n += d(i, _);
} else for (a = t = 0; a < i.channels_out; a++) {
var c,
- u,
- _ = o.tt[t][a],
- h = 0;
- if (u = n = s = 0, _.block_type == Ae.SHORT_TYPE) {
- for (; u < 4; u++) {
- var b = _.sfb_partition_table[u] / 3,
- p = _.slen[u];
- for (c = 0; c < b; c++, n++) v(i, Math.max(_.scalefac[3 * n + 0], 0), p), v(i, Math.max(_.scalefac[3 * n + 1], 0), p), v(i, Math.max(_.scalefac[3 * n + 2], 0), p), h += 3 * p;
+ h,
+ u = 0;
+ if (h = s = n = 0, (_ = o.tt[t][a]).block_type == Pe.SHORT_TYPE) {
+ for (; h < 4; h++) {
+ var m = _.sfb_partition_table[h] / 3,
+ p = _.slen[h];
+ for (c = 0; c < m; c++, s++) v(i, Math.max(_.scalefac[3 * s + 0], 0), p), v(i, Math.max(_.scalefac[3 * s + 1], 0), p), v(i, Math.max(_.scalefac[3 * s + 2], 0), p), u += 3 * p;
}
- s += d(i, _);
+ n += S(i, _);
} else {
- for (; u < 4; u++) {
- var b = _.sfb_partition_table[u],
- p = _.slen[u];
- for (c = 0; c < b; c++, n++) v(i, Math.max(_.scalefac[n], 0), p), h += p;
- }
- s += g(i, _);
+ for (; h < 4; h++) for (m = _.sfb_partition_table[h], p = _.slen[h], c = 0; c < m; c++, s++) v(i, Math.max(_.scalefac[s], 0), p), u += p;
+ n += M(i, _);
}
- s += m(i, _), r += h + s;
+ r += u + (n += d(i, _));
}
return r;
- }(e), u(e, t.resvDrain_post), s += t.resvDrain_post, t.main_data_begin += (n - s) / 8, w(e, new p()), a.ResvSize, 8 * t.main_data_begin != a.ResvSize && (a.ResvSize = 8 * t.main_data_begin), 1e9 < l) {
+ }(e), o(e, t.resvDrain_post), n += t.resvDrain_post, t.main_data_begin += (s - n) / 8, R(e, new w()) != a.ResvSize && $.err.println("Internal buffer inconsistency. flushbits <> ResvSize"), 8 * t.main_data_begin != a.ResvSize && ($.err.printf("bit reservoir error: \nl3_side.main_data_begin: %d \nResvoir size: %d \nresv drain (post) %d \nresv drain (pre) %d \nheader and sideinfo: %d \ndata bits: %d \ntotal bits: %d (remainder: %d) \nbitsperframe: %d \n", 8 * t.main_data_begin, a.ResvSize, t.resvDrain_post, t.resvDrain_pre, 8 * a.sideinfo_len, n - t.resvDrain_post - 8 * a.sideinfo_len, n, n % 8, s), $.err.println("This is a fatal error. It has several possible causes:"), $.err.println("90%% LAME compiled with buggy version of gcc using advanced optimizations"), $.err.println(" 9%% Your system is overclocked"), $.err.println(" 1%% bug in LAME encoding library"), a.ResvSize = 8 * t.main_data_begin), 1e9 < l) {
var r;
- for (r = 0; r < j.MAX_HEADER_BUF; ++r) a.header[r].write_timing -= l;
+ for (r = 0; r < Z.MAX_HEADER_BUF; ++r) a.header[r].write_timing -= l;
l = 0;
}
return 0;
- }, this.copy_buffer = function (e, t, a, n, s) {
- var r = f + 1;
+ }, this.copy_buffer = function (e, t, a, s, n) {
+ var r = p + 1;
if (r <= 0) return 0;
- if (0 != n && n < r) return -1;
- if (I.arraycopy(_, 0, t, a, r), f = -1, (c = 0) != s) {
- var i = ve(1);
- i[0] = e.nMusicCRC, o.updateMusicCRC(i, t, a, r), e.nMusicCRC = i[0], 0 < r && (e.VBR_seek_table.nBytesWritten += r), e.decode_on_the_fly && me();
+ if (0 != s && s < r) return -1;
+ if ($.arraycopy(m, 0, t, a, r), p = -1, (b = 0) != n) {
+ var i = Ae(1);
+ if (i[0] = e.nMusicCRC, u.updateMusicCRC(i, t, a, r), e.nMusicCRC = i[0], 0 < r && (e.VBR_seek_table.nBytesWritten += r), e.decode_on_the_fly) for (var o, _ = ke([2, 1152]), l = r, f = -1; 0 != f;) if (f = h.hip_decode1_unclipped(e.hip, t, a, l, _[0], _[1]), l = 0, -1 == f && (f = 0), 0 < f) {
+ if (e.findPeakSample) {
+ for (o = 0; o < f; o++) _[0][o] > e.PeakSample ? e.PeakSample = _[0][o] : -_[0][o] > e.PeakSample && (e.PeakSample = -_[0][o]);
+ if (1 < e.channels_out) for (o = 0; o < f; o++) _[1][o] > e.PeakSample ? e.PeakSample = _[1][o] : -_[1][o] > e.PeakSample && (e.PeakSample = -_[1][o]);
+ }
+ if (e.findReplayGain && c.AnalyzeSamples(e.rgdata, _[0], 0, _[1], 0, f, e.channels_out) == X.GAIN_ANALYSIS_ERROR) return -6;
+ }
}
return r;
}, this.init_bit_stream_w = function (e) {
- _ = S(Y.LAME_MAXMP3BUFFER), e.h_ptr = e.w_ptr = 0, e.header[e.h_ptr].write_timing = 0, f = -1, l = c = 0;
+ m = A(U.LAME_MAXMP3BUFFER), e.h_ptr = e.w_ptr = 0, e.header[e.h_ptr].write_timing = 0, p = -1, l = b = 0;
};
}
- function e(e, t, a, n) {
- this.xlen = e, this.linmax = t, this.table = a, this.hlen = n;
+ function e(e, t, a, s) {
+ this.xlen = e, this.linmax = t, this.table = a, this.hlen = s;
}
- D.MAX_VALUE = 3.4028235e38, Me.vbr_off = new Me(0), Me.vbr_mt = new Me(1), Me.vbr_rh = new Me(2), Me.vbr_abr = new Me(3), Me.vbr_mtrh = new Me(4), Me.vbr_default = Me.vbr_mtrh, ye.STEREO = new ye(0), ye.JOINT_STEREO = new ye(1), ye.DUAL_CHANNEL = new ye(2), ye.MONO = new ye(3), ye.NOT_SET = new ye(4), O.STEPS_per_dB = 100, O.MAX_dB = 120, O.GAIN_NOT_ENOUGH_SAMPLES = -24601, O.GAIN_ANALYSIS_ERROR = 0, O.GAIN_ANALYSIS_OK = 1, O.INIT_GAIN_ANALYSIS_ERROR = 0, O.INIT_GAIN_ANALYSIS_OK = 1, O.MAX_ORDER = O.YULE_ORDER = 10, O.MAX_SAMPLES_PER_WINDOW = (O.MAX_SAMP_FREQ = 48e3) * (O.RMS_WINDOW_TIME_NUMERATOR = 1) / (O.RMS_WINDOW_TIME_DENOMINATOR = 20) + 1, y.NUMTOCENTRIES = 100, y.MAXFRAMESIZE = 2880, N.EQ = function (e, t) {
+ Ee.STEREO = new Ee(0), Ee.JOINT_STEREO = new Ee(1), Ee.DUAL_CHANNEL = new Ee(2), Ee.MONO = new Ee(3), Ee.NOT_SET = new Ee(4), X.STEPS_per_dB = 100, X.MAX_dB = 120, X.GAIN_NOT_ENOUGH_SAMPLES = -24601, X.GAIN_ANALYSIS_ERROR = 0, X.GAIN_ANALYSIS_OK = 1, X.INIT_GAIN_ANALYSIS_ERROR = 0, X.INIT_GAIN_ANALYSIS_OK = 1, X.MAX_ORDER = X.YULE_ORDER = 10, X.MAX_SAMPLES_PER_WINDOW = (X.MAX_SAMP_FREQ = 48e3) * (X.RMS_WINDOW_TIME_NUMERATOR = 1) / (X.RMS_WINDOW_TIME_DENOMINATOR = 20) + 1, M.NUMTOCENTRIES = 100, M.MAXFRAMESIZE = 2880, q.EQ = function (e, t) {
return Math.abs(e) > Math.abs(t) ? Math.abs(e - t) <= 1e-6 * Math.abs(e) : Math.abs(e - t) <= 1e-6 * Math.abs(t);
- }, N.NEQ = function (e, t) {
- return !N.EQ(e, t);
+ }, q.NEQ = function (e, t) {
+ return !q.EQ(e, t);
};
- var k = {};
- function R(e) {
+ var F = {};
+ function j(e) {
this.bits = e;
}
- function x() {
+ function y() {
this.over_noise = 0, this.tot_noise = 0, this.max_noise = 0, this.over_count = 0, this.over_SSD = 0, this.bits = 0;
}
- function r(e, t, a, n) {
- this.l = ve(1 + Ae.SBMAX_l), this.s = ve(1 + Ae.SBMAX_s), this.psfb21 = ve(1 + Ae.PSFB21), this.psfb12 = ve(1 + Ae.PSFB12);
- var s = this.l,
+ function r(e, t, a, s) {
+ this.l = Ae(1 + Pe.SBMAX_l), this.s = Ae(1 + Pe.SBMAX_s), this.psfb21 = Ae(1 + Pe.PSFB21), this.psfb12 = Ae(1 + Pe.PSFB12);
+ var n = this.l,
r = this.s;
- 4 == arguments.length && (this.arrL = e, this.arrS = t, this.arr21 = a, this.arr12 = n, I.arraycopy(this.arrL, 0, s, 0, Math.min(this.arrL.length, this.l.length)), I.arraycopy(this.arrS, 0, r, 0, Math.min(this.arrS.length, this.s.length)), I.arraycopy(this.arr21, 0, this.psfb21, 0, Math.min(this.arr21.length, this.psfb21.length)), I.arraycopy(this.arr12, 0, this.psfb12, 0, Math.min(this.arr12.length, this.psfb12.length)));
+ 4 == arguments.length && (this.arrL = e, this.arrS = t, this.arr21 = a, this.arr12 = s, $.arraycopy(this.arrL, 0, n, 0, Math.min(this.arrL.length, this.l.length)), $.arraycopy(this.arrS, 0, r, 0, Math.min(this.arrS.length, this.s.length)), $.arraycopy(this.arr21, 0, this.psfb21, 0, Math.min(this.arr21.length, this.psfb21.length)), $.arraycopy(this.arr12, 0, this.psfb12, 0, Math.min(this.arr12.length, this.psfb12.length)));
}
- function T() {
+ function x() {
var l = null,
- b = null,
- n = null;
+ m = null,
+ s = null;
this.setModules = function (e, t, a) {
- l = e, b = t, n = a;
+ l = e, m = t, s = a;
}, this.IPOW20 = function (e) {
- return h[e];
+ return u[e];
};
- var B = 2.220446049250313e-16,
- e = T.IXMAX_VAL,
- f = e + 2,
- c = T.Q_MAX,
- u = T.Q_MAX2,
- s = 100;
+ var T = 2.220446049250313e-16,
+ f = x.IXMAX_VAL + 2,
+ c = x.Q_MAX,
+ h = x.Q_MAX2,
+ n = 100;
this.nr_of_sfb_block = [[[6, 5, 5, 5], [9, 9, 9, 9], [6, 9, 9, 9]], [[6, 5, 7, 3], [9, 9, 12, 6], [6, 9, 12, 6]], [[11, 10, 0, 0], [18, 18, 0, 0], [15, 18, 0, 0]], [[7, 7, 7, 0], [12, 12, 12, 0], [6, 15, 12, 0]], [[6, 6, 6, 3], [12, 9, 9, 6], [6, 12, 9, 6]], [[8, 8, 5, 0], [15, 12, 9, 0], [6, 18, 9, 0]]];
- var M = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 2, 0];
- this.pretab = M, this.sfBandIndex = [new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 24, 32, 42, 56, 74, 100, 132, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 114, 136, 162, 194, 232, 278, 332, 394, 464, 540, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 136, 180, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 52, 62, 74, 90, 110, 134, 162, 196, 238, 288, 342, 418, 576], [0, 4, 8, 12, 16, 22, 30, 40, 52, 66, 84, 106, 136, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 60, 72, 88, 106, 128, 156, 190, 230, 276, 330, 384, 576], [0, 4, 8, 12, 16, 22, 28, 38, 50, 64, 80, 100, 126, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 54, 66, 82, 102, 126, 156, 194, 240, 296, 364, 448, 550, 576], [0, 4, 8, 12, 16, 22, 30, 42, 58, 78, 104, 138, 180, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 12, 24, 36, 48, 60, 72, 88, 108, 132, 160, 192, 232, 280, 336, 400, 476, 566, 568, 570, 572, 574, 576], [0, 8, 16, 24, 36, 52, 72, 96, 124, 160, 162, 164, 166, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0])];
- var y = de(c + u + 1),
- h = de(c),
- p = de(f),
- m = de(f);
+ var w = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 2, 0];
+ this.pretab = w, this.sfBandIndex = [new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 24, 32, 42, 56, 74, 100, 132, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 114, 136, 162, 194, 232, 278, 332, 394, 464, 540, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 136, 180, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 52, 62, 74, 90, 110, 134, 162, 196, 238, 288, 342, 418, 576], [0, 4, 8, 12, 16, 22, 30, 40, 52, 66, 84, 106, 136, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 60, 72, 88, 106, 128, 156, 190, 230, 276, 330, 384, 576], [0, 4, 8, 12, 16, 22, 28, 38, 50, 64, 80, 100, 126, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 54, 66, 82, 102, 126, 156, 194, 240, 296, 364, 448, 550, 576], [0, 4, 8, 12, 16, 22, 30, 42, 58, 78, 104, 138, 180, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576], [0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]), new r([0, 12, 24, 36, 48, 60, 72, 88, 108, 132, 160, 192, 232, 280, 336, 400, 476, 566, 568, 570, 572, 574, 576], [0, 8, 16, 24, 36, 52, 72, 96, 124, 160, 162, 164, 166, 192], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0])];
+ var R = Be(c + h + 1),
+ u = Be(c),
+ p = Be(f),
+ b = Be(f);
function v(e, t) {
- var a = n.ATHformula(t, e);
- return a -= s, a = Math.pow(10, a / 10 + e.ATHlower);
+ var a = s.ATHformula(t, e);
+ return a -= n, a = Math.pow(10, a / 10 + e.ATHlower);
}
function A(e) {
this.s = e;
}
- this.adj43 = m, this.iteration_init = function (e) {
+ this.adj43 = b, this.iteration_init = function (e) {
var t,
a = e.internal_flags,
- n = a.l3_side;
+ s = a.l3_side;
if (0 == a.iteration_init_init) {
- for (a.iteration_init_init = 1, n.main_data_begin = 0, function (e) {
- for (var t = e.internal_flags.ATH.l, a = e.internal_flags.ATH.psfb21, n = e.internal_flags.ATH.s, s = e.internal_flags.ATH.psfb12, r = e.internal_flags, i = e.out_samplerate, o = 0; o < Ae.SBMAX_l; o++) {
+ for (a.iteration_init_init = 1, s.main_data_begin = 0, function (e) {
+ for (var t = e.internal_flags.ATH.l, a = e.internal_flags.ATH.psfb21, s = e.internal_flags.ATH.s, n = e.internal_flags.ATH.psfb12, r = e.internal_flags, i = e.out_samplerate, o = 0; o < Pe.SBMAX_l; o++) {
var _ = r.scalefac_band.l[o],
l = r.scalefac_band.l[o + 1];
- t[o] = D.MAX_VALUE;
+ t[o] = K.MAX_VALUE;
for (var f = _; f < l; f++) {
- var c = f * i / 1152,
- u = v(e, c);
- t[o] = Math.min(t[o], u);
+ var c = v(e, f * i / 1152);
+ t[o] = Math.min(t[o], c);
}
}
- for (var o = 0; o < Ae.PSFB21; o++) {
- var _ = r.scalefac_band.psfb21[o],
- l = r.scalefac_band.psfb21[o + 1];
- a[o] = D.MAX_VALUE;
- for (var f = _; f < l; f++) {
- var c = f * i / 1152,
- u = v(e, c);
- a[o] = Math.min(a[o], u);
- }
+ for (o = 0; o < Pe.PSFB21; o++) for (_ = r.scalefac_band.psfb21[o], l = r.scalefac_band.psfb21[o + 1], a[o] = K.MAX_VALUE, f = _; f < l; f++) c = v(e, f * i / 1152), a[o] = Math.min(a[o], c);
+ for (o = 0; o < Pe.SBMAX_s; o++) {
+ for (_ = r.scalefac_band.s[o], l = r.scalefac_band.s[o + 1], s[o] = K.MAX_VALUE, f = _; f < l; f++) c = v(e, f * i / 384), s[o] = Math.min(s[o], c);
+ s[o] *= r.scalefac_band.s[o + 1] - r.scalefac_band.s[o];
}
- for (var o = 0; o < Ae.SBMAX_s; o++) {
- var _ = r.scalefac_band.s[o],
- l = r.scalefac_band.s[o + 1];
- n[o] = D.MAX_VALUE;
- for (var f = _; f < l; f++) {
- var c = f * i / 384,
- u = v(e, c);
- n[o] = Math.min(n[o], u);
- }
- n[o] *= r.scalefac_band.s[o + 1] - r.scalefac_band.s[o];
+ for (o = 0; o < Pe.PSFB12; o++) {
+ for (_ = r.scalefac_band.psfb12[o], l = r.scalefac_band.psfb12[o + 1], n[o] = K.MAX_VALUE, f = _; f < l; f++) c = v(e, f * i / 384), n[o] = Math.min(n[o], c);
+ n[o] *= r.scalefac_band.s[13] - r.scalefac_band.s[12];
}
- for (var o = 0; o < Ae.PSFB12; o++) {
- var _ = r.scalefac_band.psfb12[o],
- l = r.scalefac_band.psfb12[o + 1];
- s[o] = D.MAX_VALUE;
- for (var f = _; f < l; f++) {
- var c = f * i / 384,
- u = v(e, c);
- s[o] = Math.min(s[o], u);
- }
- s[o] *= r.scalefac_band.s[13] - r.scalefac_band.s[12];
+ if (e.noATH) {
+ for (o = 0; o < Pe.SBMAX_l; o++) t[o] = 1e-20;
+ for (o = 0; o < Pe.PSFB21; o++) a[o] = 1e-20;
+ for (o = 0; o < Pe.SBMAX_s; o++) s[o] = 1e-20;
+ for (o = 0; o < Pe.PSFB12; o++) n[o] = 1e-20;
}
- e.noATH && me(), r.ATH.floor = 10 * d(v(e, -1));
+ r.ATH.floor = 10 * B(v(e, -1));
}(e), p[0] = 0, t = 1; t < f; t++) p[t] = Math.pow(t, 4 / 3);
- for (t = 0; t < f - 1; t++) m[t] = t + 1 - Math.pow(.5 * (p[t] + p[t + 1]), .75);
- for (m[t] = .5, t = 0; t < c; t++) h[t] = Math.pow(2, -.1875 * (t - 210));
- for (t = 0; t <= c + u; t++) y[t] = Math.pow(2, .25 * (t - 210 - u));
- var s, r, i, o;
- for (l.huffman_init(a), 32 <= (t = e.exp_nspsytune >> 2 & 63) && (t -= 64), s = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 8 & 63) && (t -= 64), r = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 14 & 63) && (t -= 64), i = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 20 & 63) && (t -= 64), o = i * Math.pow(10, t / 4 / 10), t = 0; t < Ae.SBMAX_l; t++) _ = t <= 6 ? s : t <= 13 ? r : t <= 20 ? i : o, a.nsPsy.longfact[t] = _;
- for (t = 0; t < Ae.SBMAX_s; t++) {
+ for (t = 0; t < f - 1; t++) b[t] = t + 1 - Math.pow(.5 * (p[t] + p[t + 1]), .75);
+ for (b[t] = .5, t = 0; t < c; t++) u[t] = Math.pow(2, -.1875 * (t - 210));
+ for (t = 0; t <= c + h; t++) R[t] = Math.pow(2, .25 * (t - 210 - h));
+ var n, r, i, o;
+ for (l.huffman_init(a), 32 <= (t = e.exp_nspsytune >> 2 & 63) && (t -= 64), n = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 8 & 63) && (t -= 64), r = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 14 & 63) && (t -= 64), i = Math.pow(10, t / 4 / 10), 32 <= (t = e.exp_nspsytune >> 20 & 63) && (t -= 64), o = i * Math.pow(10, t / 4 / 10), t = 0; t < Pe.SBMAX_l; t++) {
+ _ = t <= 6 ? n : t <= 13 ? r : t <= 20 ? i : o, a.nsPsy.longfact[t] = _;
+ }
+ for (t = 0; t < Pe.SBMAX_s; t++) {
var _;
- _ = t <= 5 ? s : t <= 10 ? r : t <= 11 ? i : o, a.nsPsy.shortfact[t] = _;
+ _ = t <= 5 ? n : t <= 10 ? r : t <= 11 ? i : o, a.nsPsy.shortfact[t] = _;
}
}
- }, this.on_pe = function (e, t, a, n, s, r) {
+ }, this.on_pe = function (e, t, a, s, n, r) {
var i,
o,
_ = e.internal_flags,
l = 0,
- f = ve(2),
- c = new R(l),
- u = b.ResvMaxBits(e, n, c, r),
- h = (l = c.bits) + u;
- for (j.MAX_BITS_PER_GRANULE < h && (h = j.MAX_BITS_PER_GRANULE), o = i = 0; o < _.channels_out; ++o) a[o] = Math.min(j.MAX_BITS_PER_CHANNEL, l / _.channels_out), f[o] = 0 | a[o] * t[s][o] / 700 - a[o], f[o] > 3 * n / 4 && (f[o] = 3 * n / 4), f[o] < 0 && (f[o] = 0), f[o] + a[o] > j.MAX_BITS_PER_CHANNEL && (f[o] = Math.max(0, j.MAX_BITS_PER_CHANNEL - a[o])), i += f[o];
- if (u < i) for (o = 0; o < _.channels_out; ++o) f[o] = u * f[o] / i;
- for (o = 0; o < _.channels_out; ++o) a[o] += f[o], u -= f[o];
+ f = Ae(2),
+ c = new j(l),
+ h = m.ResvMaxBits(e, s, c, r),
+ u = (l = c.bits) + h;
+ for (Z.MAX_BITS_PER_GRANULE < u && (u = Z.MAX_BITS_PER_GRANULE), o = i = 0; o < _.channels_out; ++o) a[o] = Math.min(Z.MAX_BITS_PER_CHANNEL, l / _.channels_out), f[o] = 0 | a[o] * t[n][o] / 700 - a[o], f[o] > 3 * s / 4 && (f[o] = 3 * s / 4), f[o] < 0 && (f[o] = 0), f[o] + a[o] > Z.MAX_BITS_PER_CHANNEL && (f[o] = Math.max(0, Z.MAX_BITS_PER_CHANNEL - a[o])), i += f[o];
+ if (h < i) for (o = 0; o < _.channels_out; ++o) f[o] = h * f[o] / i;
+ for (o = 0; o < _.channels_out; ++o) a[o] += f[o], h -= f[o];
for (o = i = 0; o < _.channels_out; ++o) i += a[o];
- return j.MAX_BITS_PER_GRANULE < i && me(), h;
+ if (Z.MAX_BITS_PER_GRANULE < i) {
+ for (o = 0; o < _.channels_out; ++o) a[o] *= Z.MAX_BITS_PER_GRANULE, a[o] /= i, a[o];
+ }
+ return u;
+ }, this.reduce_side = function (e, t, a, s) {
+ var n = .33 * (.5 - t) / .5;
+ n < 0 && (n = 0), .5 < n && (n = .5);
+ var r = 0 | .5 * n * (e[0] + e[1]);
+ r > Z.MAX_BITS_PER_CHANNEL - e[0] && (r = Z.MAX_BITS_PER_CHANNEL - e[0]), r < 0 && (r = 0), 125 <= e[1] && (125 < e[1] - r ? (e[0] < a && (e[0] += r), e[1] -= r) : (e[0] += e[1] - 125, e[1] = 125)), s < (r = e[0] + e[1]) && (e[0] = s * e[0] / r, e[1] = s * e[1] / r);
}, this.athAdjust = function (e, t, a) {
- var n = 90.30873362,
- s = V.FAST_LOG10_X(t, 10),
+ var s = 90.30873362,
+ n = ee.FAST_LOG10_X(t, 10),
r = e * e,
i = 0;
- return s -= a, 1e-20 < r && (i = 1 + V.FAST_LOG10_X(r, 10 / n)), i < 0 && (i = 0), s *= i, s += a + n - 94.82444863, Math.pow(10, .1 * s);
- }, this.calc_xmin = function (e, t, a, n) {
- var s,
+ return n -= a, 1e-20 < r && (i = 1 + ee.FAST_LOG10_X(r, 10 / s)), i < 0 && (i = 0), n *= i, n += a + s - 94.82444863, Math.pow(10, .1 * n);
+ }, this.calc_xmin = function (e, t, a, s) {
+ var n,
r = 0,
i = e.internal_flags,
o = 0,
_ = 0,
l = i.ATH,
f = a.xr,
- c = e.VBR == Me.vbr_mtrh ? 1 : 0,
- u = i.masking_lower;
- for (e.VBR != Me.vbr_mtrh && e.VBR != Me.vbr_mt || (u = 1), s = 0; s < a.psy_lmax; s++) {
- for (w = e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? athAdjust(l.adjust, l.l[s], l.floor) : l.adjust * l.l[s], v = a.width[s], S = w / v, M = B, A = v >> 1, y = 0; k = f[o] * f[o], y += k, M += k < S ? k : S, R = f[++o] * f[o], y += R, M += R < S ? R : S, o++, 0 < --A;);
- if (w < y && _++, s == Ae.SBPSY_l && me(), 0 != c && (w = M), !e.ATHonly) {
- var h = t.en.l[s];
- 0 < h && (x = y * t.thm.l[s] * u / h, 0 != c && (x *= i.nsPsy.longfact[s]), w < x && (w = x));
- }
- n[r++] = 0 != c ? w : w * i.nsPsy.longfact[s];
+ c = e.VBR == xe.vbr_mtrh ? 1 : 0,
+ h = i.masking_lower;
+ for (e.VBR != xe.vbr_mtrh && e.VBR != xe.vbr_mt || (h = 1), n = 0; n < a.psy_lmax; n++) {
+ S = (g = e.VBR == xe.vbr_rh || e.VBR == xe.vbr_mtrh ? athAdjust(l.adjust, l.l[n], l.floor) : l.adjust * l.l[n]) / (b = a.width[n]), M = T, B = b >> 1, A = 0;
+ do {
+ A += k = f[o] * f[o], M += k < S ? k : S, A += y = f[++o] * f[o], M += y < S ? y : S, o++;
+ } while (0 < --B);
+ if (g < A && _++, n == Pe.SBPSY_l) M < (R = g * i.nsPsy.longfact[n]) && (M = R);
+ if (0 != c && (g = M), !e.ATHonly) if (0 < (w = t.en.l[n])) R = A * t.thm.l[n] * h / w, 0 != c && (R *= i.nsPsy.longfact[n]), g < R && (g = R);
+ s[r++] = 0 != c ? g : g * i.nsPsy.longfact[n];
}
- var b = 575;
- if (a.block_type != Ae.SHORT_TYPE) for (var p = 576; 0 != p-- && N.EQ(f[p], 0);) b = p;
- a.max_nonzero_coeff = b;
- for (var m = a.sfb_smin; s < a.psymax; m++, s += 3) {
- var v, d, g;
- for (g = e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? athAdjust(l.adjust, l.s[m], l.floor) : l.adjust * l.s[m], v = a.width[s], d = 0; d < 3; d++) {
- var w,
+ var u = 575;
+ if (a.block_type != Pe.SHORT_TYPE) for (var m = 576; 0 != m-- && q.EQ(f[m], 0);) u = m;
+ a.max_nonzero_coeff = u;
+ for (var p = a.sfb_smin; n < a.psymax; p++, n += 3) {
+ var b, v, d;
+ for (d = e.VBR == xe.vbr_rh || e.VBR == xe.vbr_mtrh ? athAdjust(l.adjust, l.s[p], l.floor) : l.adjust * l.s[p], b = a.width[n], v = 0; v < 3; v++) {
+ var g,
S,
M,
- y = 0,
- A = v >> 1;
- S = g / v, M = B;
+ w,
+ R,
+ A = 0,
+ B = b >> 1;
+ S = d / b, M = T;
do {
- var k, R;
- k = f[o] * f[o], y += k, M += k < S ? k : S, R = f[++o] * f[o], y += R, M += R < S ? R : S, o++;
- } while (0 < --A);
- if (g < y && _++, m == Ae.SBPSY_s && me(), w = 0 != c ? M : g, !e.ATHonly && !e.ATHshort) {
- var x,
- h = t.en.s[m][d];
- 0 < h && (x = y * t.thm.s[m][d] * u / h, 0 != c && (x *= i.nsPsy.shortfact[m]), w < x && (w = x));
- }
- n[r++] = 0 != c ? w : w * i.nsPsy.shortfact[m];
+ var k, y;
+ A += k = f[o] * f[o], M += k < S ? k : S, A += y = f[++o] * f[o], M += y < S ? y : S, o++;
+ } while (0 < --B);
+ if (d < A && _++, p == Pe.SBPSY_s) M < (R = d * i.nsPsy.shortfact[p]) && (M = R);
+ if (g = 0 != c ? M : d, !e.ATHonly && !e.ATHshort) if (0 < (w = t.en.s[p][v])) R = A * t.thm.s[p][v] * h / w, 0 != c && (R *= i.nsPsy.shortfact[p]), g < R && (g = R);
+ s[r++] = 0 != c ? g : g * i.nsPsy.shortfact[p];
}
- e.useTemporal && (n[r - 3] > n[r - 3 + 1] && (n[r - 3 + 1] += (n[r - 3] - n[r - 3 + 1]) * i.decay), n[r - 3 + 1] > n[r - 3 + 2] && (n[r - 3 + 2] += (n[r - 3 + 1] - n[r - 3 + 2]) * i.decay));
+ e.useTemporal && (s[r - 3] > s[r - 3 + 1] && (s[r - 3 + 1] += (s[r - 3] - s[r - 3 + 1]) * i.decay), s[r - 3 + 1] > s[r - 3 + 2] && (s[r - 3 + 2] += (s[r - 3 + 1] - s[r - 3 + 2]) * i.decay));
}
return _;
- }, this.calc_noise_core = function (e, t, a, n) {
- var s = 0,
+ }, this.calc_noise_core = function (e, t, a, s) {
+ var n = 0,
r = t.s,
i = e.l3_enc;
- if (r > e.count1) for (; 0 != a--;) _ = e.xr[r], r++, s += _ * _, _ = e.xr[r], r++, s += _ * _;else if (r > e.big_values) {
- var o = de(2);
- for (o[0] = 0, o[1] = n; 0 != a--;) _ = Math.abs(e.xr[r]) - o[i[r]], r++, s += _ * _, _ = Math.abs(e.xr[r]) - o[i[r]], r++, s += _ * _;
+ if (r > e.count1) for (; 0 != a--;) {
+ _ = e.xr[r], r++, n += _ * _, _ = e.xr[r], r++, n += _ * _;
+ } else if (r > e.big_values) {
+ var o = Be(2);
+ for (o[0] = 0, o[1] = s; 0 != a--;) {
+ _ = Math.abs(e.xr[r]) - o[i[r]], r++, n += _ * _, _ = Math.abs(e.xr[r]) - o[i[r]], r++, n += _ * _;
+ }
} else for (; 0 != a--;) {
var _;
- _ = Math.abs(e.xr[r]) - p[i[r]] * n, r++, s += _ * _, _ = Math.abs(e.xr[r]) - p[i[r]] * n, r++, s += _ * _;
+ _ = Math.abs(e.xr[r]) - p[i[r]] * s, r++, n += _ * _, _ = Math.abs(e.xr[r]) - p[i[r]] * s, r++, n += _ * _;
}
- return t.s = r, s;
- }, this.calc_noise = function (e, t, a, n, s) {
+ return t.s = r, n;
+ }, this.calc_noise = function (e, t, a, s, n) {
var r,
i,
o = 0,
@@ -35880,54 +35546,83 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
l = 0,
f = 0,
c = 0,
- u = -20,
- h = 0,
- b = e.scalefac,
+ h = -20,
+ u = 0,
+ m = e.scalefac,
p = 0;
- for (n.over_SSD = 0, r = 0; r < e.psymax; r++) {
- var m,
- v = e.global_gain - (b[p++] + (0 != e.preflag ? M[r] : 0) << e.scalefac_scale + 1) - 8 * e.subblock_gain[e.window[r]],
+ for (r = s.over_SSD = 0; r < e.psymax; r++) {
+ var b,
+ v = e.global_gain - (m[p++] + (0 != e.preflag ? w[r] : 0) << e.scalefac_scale + 1) - 8 * e.subblock_gain[e.window[r]],
d = 0;
- if (null != s && s.step[r] == v) d = s.noise[r], h += e.width[r], a[o++] = d / t[_++], d = s.noise_log[r];else {
+ if (null != n && n.step[r] == v) d = n.noise[r], u += e.width[r], a[o++] = d / t[_++], d = n.noise_log[r];else {
var g,
- w = y[v + T.Q_MAX2];
- i = e.width[r] >> 1, h + e.width[r] > e.max_nonzero_coeff && (g = e.max_nonzero_coeff - h + 1, i = 0 < g ? g >> 1 : 0);
- var S = new A(h);
- d = this.calc_noise_core(e, S, i, w), h = S.s, null != s && (s.step[r] = v, s.noise[r] = d), d = a[o++] = d / t[_++], d = V.FAST_LOG10(Math.max(d, 1e-20)), null != s && (s.noise_log[r] = d);
+ S = R[v + x.Q_MAX2];
+ if (i = e.width[r] >> 1, u + e.width[r] > e.max_nonzero_coeff) i = 0 < (g = e.max_nonzero_coeff - u + 1) ? g >> 1 : 0;
+ var M = new A(u);
+ d = this.calc_noise_core(e, M, i, S), u = M.s, null != n && (n.step[r] = v, n.noise[r] = d), d = a[o++] = d / t[_++], d = ee.FAST_LOG10(Math.max(d, 1e-20)), null != n && (n.noise_log[r] = d);
}
- null != s && (s.global_gain = e.global_gain), c += d, 0 < d && (m = Math.max(0 | 10 * d + .5, 1), n.over_SSD += m * m, l++, f += d), u = Math.max(u, d);
+ if (null != n && (n.global_gain = e.global_gain), c += d, 0 < d) b = Math.max(0 | 10 * d + .5, 1), s.over_SSD += b * b, l++, f += d;
+ h = Math.max(h, d);
}
- return n.over_count = l, n.tot_noise = c, n.over_noise = f, n.max_noise = u, l;
+ return s.over_count = l, s.tot_noise = c, s.over_noise = f, s.max_noise = h, l;
+ }, this.set_pinfo = function (e, t, a, s, n) {
+ var r,
+ i,
+ o,
+ _,
+ l,
+ f = e.internal_flags,
+ c = 0 == t.scalefac_scale ? .5 : 1,
+ h = t.scalefac,
+ u = Be(z.SFBMAX),
+ m = Be(z.SFBMAX),
+ p = new y();
+ calc_xmin(e, a, t, u), calc_noise(t, u, m, p, null);
+ var b = 0;
+ for (i = t.sfb_lmax, t.block_type != Pe.SHORT_TYPE && 0 == t.mixed_block_flag && (i = 22), r = 0; r < i; r++) {
+ var v = f.scalefac_band.l[r],
+ d = (g = f.scalefac_band.l[r + 1]) - v;
+ for (_ = 0; b < g; b++) _ += t.xr[b] * t.xr[b];
+ _ /= d, l = 1e15, f.pinfo.en[s][n][r] = l * _, f.pinfo.xfsf[s][n][r] = l * u[r] * m[r] / d, 0 < a.en.l[r] && !e.ATHonly ? _ /= a.en.l[r] : _ = 0, f.pinfo.thr[s][n][r] = l * Math.max(_ * a.thm.l[r], f.ATH.l[r]), (f.pinfo.LAMEsfb[s][n][r] = 0) != t.preflag && 11 <= r && (f.pinfo.LAMEsfb[s][n][r] = -c * w[r]), r < Pe.SBPSY_l && (f.pinfo.LAMEsfb[s][n][r] -= c * h[r]);
+ }
+ if (t.block_type == Pe.SHORT_TYPE) for (i = r, r = t.sfb_smin; r < Pe.SBMAX_s; r++) {
+ v = f.scalefac_band.s[r], d = (g = f.scalefac_band.s[r + 1]) - v;
+ for (var g, S = 0; S < 3; S++) {
+ for (_ = 0, o = v; o < g; o++) _ += t.xr[b] * t.xr[b], b++;
+ _ = Math.max(_ / d, 1e-20), l = 1e15, f.pinfo.en_s[s][n][3 * r + S] = l * _, f.pinfo.xfsf_s[s][n][3 * r + S] = l * u[i] * m[i] / d, 0 < a.en.s[r][S] ? _ /= a.en.s[r][S] : _ = 0, (e.ATHonly || e.ATHshort) && (_ = 0), f.pinfo.thr_s[s][n][3 * r + S] = l * Math.max(_ * a.thm.s[r][S], f.ATH.s[r]), f.pinfo.LAMEsfb_s[s][n][3 * r + S] = -2 * t.subblock_gain[S], r < Pe.SBPSY_s && (f.pinfo.LAMEsfb_s[s][n][3 * r + S] -= c * h[i]), i++;
+ }
+ }
+ f.pinfo.LAMEqss[s][n] = t.global_gain, f.pinfo.LAMEmainbits[s][n] = t.part2_3_length + t.part2_length, f.pinfo.LAMEsfbits[s][n] = t.part2_length, f.pinfo.over[s][n] = p.over_count, f.pinfo.max_noise[s][n] = 10 * p.max_noise, f.pinfo.over_noise[s][n] = 10 * p.over_noise, f.pinfo.tot_noise[s][n] = 10 * p.tot_noise, f.pinfo.over_SSD[s][n] = p.over_SSD;
};
}
- function B() {
- this.xr = de(576), this.l3_enc = ve(576), this.scalefac = ve(F.SFBMAX), this.xrpow_max = 0, this.part2_3_length = 0, this.big_values = 0, this.count1 = 0, this.global_gain = 0, this.scalefac_compress = 0, this.block_type = 0, this.mixed_block_flag = 0, this.table_select = ve(3), this.subblock_gain = ve(4), this.region0_count = 0, this.region1_count = 0, this.preflag = 0, this.scalefac_scale = 0, this.count1table_select = 0, this.part2_length = 0, this.sfb_lmax = 0, this.sfb_smin = 0, this.psy_lmax = 0, this.sfbmax = 0, this.psymax = 0, this.sfbdivide = 0, this.width = ve(F.SFBMAX), this.window = ve(F.SFBMAX), this.count1bits = 0, this.sfb_partition_table = null, this.slen = ve(4), this.max_nonzero_coeff = 0;
+ function T() {
+ this.xr = Be(576), this.l3_enc = Ae(576), this.scalefac = Ae(z.SFBMAX), this.xrpow_max = 0, this.part2_3_length = 0, this.big_values = 0, this.count1 = 0, this.global_gain = 0, this.scalefac_compress = 0, this.block_type = 0, this.mixed_block_flag = 0, this.table_select = Ae(3), this.subblock_gain = Ae(4), this.region0_count = 0, this.region1_count = 0, this.preflag = 0, this.scalefac_scale = 0, this.count1table_select = 0, this.part2_length = 0, this.sfb_lmax = 0, this.sfb_smin = 0, this.psy_lmax = 0, this.sfbmax = 0, this.psymax = 0, this.sfbdivide = 0, this.width = Ae(z.SFBMAX), this.window = Ae(z.SFBMAX), this.count1bits = 0, this.sfb_partition_table = null, this.slen = Ae(4), this.max_nonzero_coeff = 0;
var a = this;
- function n(e) {
+ function s(e) {
return new Int32Array(e);
}
this.assign = function (e) {
var t;
- a.xr = (t = e.xr, new Float32Array(t)), a.l3_enc = n(e.l3_enc), a.scalefac = n(e.scalefac), a.xrpow_max = e.xrpow_max, a.part2_3_length = e.part2_3_length, a.big_values = e.big_values, a.count1 = e.count1, a.global_gain = e.global_gain, a.scalefac_compress = e.scalefac_compress, a.block_type = e.block_type, a.mixed_block_flag = e.mixed_block_flag, a.table_select = n(e.table_select), a.subblock_gain = n(e.subblock_gain), a.region0_count = e.region0_count, a.region1_count = e.region1_count, a.preflag = e.preflag, a.scalefac_scale = e.scalefac_scale, a.count1table_select = e.count1table_select, a.part2_length = e.part2_length, a.sfb_lmax = e.sfb_lmax, a.sfb_smin = e.sfb_smin, a.psy_lmax = e.psy_lmax, a.sfbmax = e.sfbmax, a.psymax = e.psymax, a.sfbdivide = e.sfbdivide, a.width = n(e.width), a.window = n(e.window), a.count1bits = e.count1bits, a.sfb_partition_table = e.sfb_partition_table.slice(0), a.slen = n(e.slen), a.max_nonzero_coeff = e.max_nonzero_coeff;
+ a.xr = (t = e.xr, new Float32Array(t)), a.l3_enc = s(e.l3_enc), a.scalefac = s(e.scalefac), a.xrpow_max = e.xrpow_max, a.part2_3_length = e.part2_3_length, a.big_values = e.big_values, a.count1 = e.count1, a.global_gain = e.global_gain, a.scalefac_compress = e.scalefac_compress, a.block_type = e.block_type, a.mixed_block_flag = e.mixed_block_flag, a.table_select = s(e.table_select), a.subblock_gain = s(e.subblock_gain), a.region0_count = e.region0_count, a.region1_count = e.region1_count, a.preflag = e.preflag, a.scalefac_scale = e.scalefac_scale, a.count1table_select = e.count1table_select, a.part2_length = e.part2_length, a.sfb_lmax = e.sfb_lmax, a.sfb_smin = e.sfb_smin, a.psy_lmax = e.psy_lmax, a.sfbmax = e.sfbmax, a.psymax = e.psymax, a.sfbdivide = e.sfbdivide, a.width = s(e.width), a.window = s(e.window), a.count1bits = e.count1bits, a.sfb_partition_table = e.sfb_partition_table.slice(0), a.slen = s(e.slen), a.max_nonzero_coeff = e.max_nonzero_coeff;
};
}
- k.t1HB = [1, 1, 1, 0], k.t2HB = [1, 2, 1, 3, 1, 1, 3, 2, 0], k.t3HB = [3, 2, 1, 1, 1, 1, 3, 2, 0], k.t5HB = [1, 2, 6, 5, 3, 1, 4, 4, 7, 5, 7, 1, 6, 1, 1, 0], k.t6HB = [7, 3, 5, 1, 6, 2, 3, 2, 5, 4, 4, 1, 3, 3, 2, 0], k.t7HB = [1, 2, 10, 19, 16, 10, 3, 3, 7, 10, 5, 3, 11, 4, 13, 17, 8, 4, 12, 11, 18, 15, 11, 2, 7, 6, 9, 14, 3, 1, 6, 4, 5, 3, 2, 0], k.t8HB = [3, 4, 6, 18, 12, 5, 5, 1, 2, 16, 9, 3, 7, 3, 5, 14, 7, 3, 19, 17, 15, 13, 10, 4, 13, 5, 8, 11, 5, 1, 12, 4, 4, 1, 1, 0], k.t9HB = [7, 5, 9, 14, 15, 7, 6, 4, 5, 5, 6, 7, 7, 6, 8, 8, 8, 5, 15, 6, 9, 10, 5, 1, 11, 7, 9, 6, 4, 1, 14, 4, 6, 2, 6, 0], k.t10HB = [1, 2, 10, 23, 35, 30, 12, 17, 3, 3, 8, 12, 18, 21, 12, 7, 11, 9, 15, 21, 32, 40, 19, 6, 14, 13, 22, 34, 46, 23, 18, 7, 20, 19, 33, 47, 27, 22, 9, 3, 31, 22, 41, 26, 21, 20, 5, 3, 14, 13, 10, 11, 16, 6, 5, 1, 9, 8, 7, 8, 4, 4, 2, 0], k.t11HB = [3, 4, 10, 24, 34, 33, 21, 15, 5, 3, 4, 10, 32, 17, 11, 10, 11, 7, 13, 18, 30, 31, 20, 5, 25, 11, 19, 59, 27, 18, 12, 5, 35, 33, 31, 58, 30, 16, 7, 5, 28, 26, 32, 19, 17, 15, 8, 14, 14, 12, 9, 13, 14, 9, 4, 1, 11, 4, 6, 6, 6, 3, 2, 0], k.t12HB = [9, 6, 16, 33, 41, 39, 38, 26, 7, 5, 6, 9, 23, 16, 26, 11, 17, 7, 11, 14, 21, 30, 10, 7, 17, 10, 15, 12, 18, 28, 14, 5, 32, 13, 22, 19, 18, 16, 9, 5, 40, 17, 31, 29, 17, 13, 4, 2, 27, 12, 11, 15, 10, 7, 4, 1, 27, 12, 8, 12, 6, 3, 1, 0], k.t13HB = [1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19, 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14, 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16, 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14, 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24, 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17, 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15, 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42, 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16, 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11, 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22, 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7, 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5, 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3, 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2, 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1], k.t15HB = [7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63, 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36, 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33, 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29, 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27, 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38, 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30, 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25, 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20, 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15, 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9, 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11, 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7, 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3, 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1, 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0], k.t16HB = [1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17, 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9, 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16, 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26, 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9, 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16, 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10, 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8, 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7, 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11, 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4, 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6, 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4, 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2, 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0, 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3], k.t24HB = [15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88, 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42, 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18, 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16, 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14, 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12, 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10, 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17, 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16, 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11, 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10, 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6, 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4, 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2, 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0, 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3], k.t32HB = [1, 10, 8, 20, 12, 20, 16, 32, 14, 12, 24, 0, 28, 16, 24, 16], k.t33HB = [15, 28, 26, 48, 22, 40, 36, 64, 14, 24, 20, 32, 12, 16, 8, 0], k.t1l = [1, 4, 3, 5], k.t2l = [1, 4, 7, 4, 5, 7, 6, 7, 8], k.t3l = [2, 3, 7, 4, 4, 7, 6, 7, 8], k.t5l = [1, 4, 7, 8, 4, 5, 8, 9, 7, 8, 9, 10, 8, 8, 9, 10], k.t6l = [3, 4, 6, 8, 4, 4, 6, 7, 5, 6, 7, 8, 7, 7, 8, 9], k.t7l = [1, 4, 7, 9, 9, 10, 4, 6, 8, 9, 9, 10, 7, 7, 9, 10, 10, 11, 8, 9, 10, 11, 11, 11, 8, 9, 10, 11, 11, 12, 9, 10, 11, 12, 12, 12], k.t8l = [2, 4, 7, 9, 9, 10, 4, 4, 6, 10, 10, 10, 7, 6, 8, 10, 10, 11, 9, 10, 10, 11, 11, 12, 9, 9, 10, 11, 12, 12, 10, 10, 11, 11, 13, 13], k.t9l = [3, 4, 6, 7, 9, 10, 4, 5, 6, 7, 8, 10, 5, 6, 7, 8, 9, 10, 7, 7, 8, 9, 9, 10, 8, 8, 9, 9, 10, 11, 9, 9, 10, 10, 11, 11], k.t10l = [1, 4, 7, 9, 10, 10, 10, 11, 4, 6, 8, 9, 10, 11, 10, 10, 7, 8, 9, 10, 11, 12, 11, 11, 8, 9, 10, 11, 12, 12, 11, 12, 9, 10, 11, 12, 12, 12, 12, 12, 10, 11, 12, 12, 13, 13, 12, 13, 9, 10, 11, 12, 12, 12, 13, 13, 10, 10, 11, 12, 12, 13, 13, 13], k.t11l = [2, 4, 6, 8, 9, 10, 9, 10, 4, 5, 6, 8, 10, 10, 9, 10, 6, 7, 8, 9, 10, 11, 10, 10, 8, 8, 9, 11, 10, 12, 10, 11, 9, 10, 10, 11, 11, 12, 11, 12, 9, 10, 11, 12, 12, 13, 12, 13, 9, 9, 9, 10, 11, 12, 12, 12, 9, 9, 10, 11, 12, 12, 12, 12], k.t12l = [4, 4, 6, 8, 9, 10, 10, 10, 4, 5, 6, 7, 9, 9, 10, 10, 6, 6, 7, 8, 9, 10, 9, 10, 7, 7, 8, 8, 9, 10, 10, 10, 8, 8, 9, 9, 10, 10, 10, 11, 9, 9, 10, 10, 10, 11, 10, 11, 9, 9, 9, 10, 10, 11, 11, 12, 10, 10, 10, 11, 11, 11, 11, 12], k.t13l = [1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14, 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14, 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15, 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15, 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16, 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16, 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16, 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18, 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17, 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17, 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19, 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18, 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18, 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18, 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18, 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18], k.t15l = [3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14, 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14, 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15], k.t16_5l = [1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11, 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11, 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12, 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12, 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13, 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13, 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14, 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13, 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14, 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14, 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14, 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14, 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12], k.t16l = [1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10, 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10, 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11, 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11, 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12, 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12, 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13, 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12, 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13, 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13, 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10], k.t24l = [4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10, 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10, 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9, 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9, 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10, 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10, 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10, 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6], k.t32l = [1, 5, 5, 7, 5, 8, 7, 9, 5, 7, 7, 9, 7, 9, 9, 10], k.t33l = [4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8], k.ht = [new e(0, 0, null, null), new e(2, 0, k.t1HB, k.t1l), new e(3, 0, k.t2HB, k.t2l), new e(3, 0, k.t3HB, k.t3l), new e(0, 0, null, null), new e(4, 0, k.t5HB, k.t5l), new e(4, 0, k.t6HB, k.t6l), new e(6, 0, k.t7HB, k.t7l), new e(6, 0, k.t8HB, k.t8l), new e(6, 0, k.t9HB, k.t9l), new e(8, 0, k.t10HB, k.t10l), new e(8, 0, k.t11HB, k.t11l), new e(8, 0, k.t12HB, k.t12l), new e(16, 0, k.t13HB, k.t13l), new e(0, 0, null, k.t16_5l), new e(16, 0, k.t15HB, k.t15l), new e(1, 1, k.t16HB, k.t16l), new e(2, 3, k.t16HB, k.t16l), new e(3, 7, k.t16HB, k.t16l), new e(4, 15, k.t16HB, k.t16l), new e(6, 63, k.t16HB, k.t16l), new e(8, 255, k.t16HB, k.t16l), new e(10, 1023, k.t16HB, k.t16l), new e(13, 8191, k.t16HB, k.t16l), new e(4, 15, k.t24HB, k.t24l), new e(5, 31, k.t24HB, k.t24l), new e(6, 63, k.t24HB, k.t24l), new e(7, 127, k.t24HB, k.t24l), new e(8, 255, k.t24HB, k.t24l), new e(9, 511, k.t24HB, k.t24l), new e(11, 2047, k.t24HB, k.t24l), new e(13, 8191, k.t24HB, k.t24l), new e(0, 0, k.t32HB, k.t32l), new e(0, 0, k.t33HB, k.t33l)], k.largetbl = [65540, 327685, 458759, 589832, 655369, 655370, 720906, 720907, 786443, 786444, 786444, 851980, 851980, 851980, 917517, 655370, 262149, 393222, 524295, 589832, 655369, 720906, 720906, 720907, 786443, 786443, 786444, 851980, 917516, 851980, 917516, 655370, 458759, 524295, 589832, 655369, 720905, 720906, 786442, 786443, 851979, 786443, 851979, 851980, 851980, 917516, 917517, 720905, 589832, 589832, 655369, 720905, 720906, 786442, 786442, 786443, 851979, 851979, 917515, 917516, 917516, 983052, 983052, 786441, 655369, 655369, 720905, 720906, 786442, 786442, 851978, 851979, 851979, 917515, 917516, 917516, 983052, 983052, 983053, 720905, 655370, 655369, 720906, 720906, 786442, 851978, 851979, 917515, 851979, 917515, 917516, 983052, 983052, 983052, 1048588, 786441, 720906, 720906, 720906, 786442, 851978, 851979, 851979, 851979, 917515, 917516, 917516, 917516, 983052, 983052, 1048589, 786441, 720907, 720906, 786442, 786442, 851979, 851979, 851979, 917515, 917516, 983052, 983052, 983052, 983052, 1114125, 1114125, 786442, 720907, 786443, 786443, 851979, 851979, 851979, 917515, 917515, 983051, 983052, 983052, 983052, 1048588, 1048589, 1048589, 786442, 786443, 786443, 786443, 851979, 851979, 917515, 917515, 983052, 983052, 983052, 983052, 1048588, 983053, 1048589, 983053, 851978, 786444, 851979, 786443, 851979, 917515, 917516, 917516, 917516, 983052, 1048588, 1048588, 1048589, 1114125, 1114125, 1048589, 786442, 851980, 851980, 851979, 851979, 917515, 917516, 983052, 1048588, 1048588, 1048588, 1048588, 1048589, 1048589, 983053, 1048589, 851978, 851980, 917516, 917516, 917516, 917516, 983052, 983052, 983052, 983052, 1114124, 1048589, 1048589, 1048589, 1048589, 1179661, 851978, 983052, 917516, 917516, 917516, 983052, 983052, 1048588, 1048588, 1048589, 1179661, 1114125, 1114125, 1114125, 1245197, 1114125, 851978, 917517, 983052, 851980, 917516, 1048588, 1048588, 983052, 1048589, 1048589, 1114125, 1179661, 1114125, 1245197, 1114125, 1048589, 851978, 655369, 655369, 655369, 720905, 720905, 786441, 786441, 786441, 851977, 851977, 851977, 851978, 851978, 851978, 851978, 655366], k.table23 = [65538, 262147, 458759, 262148, 327684, 458759, 393222, 458759, 524296], k.table56 = [65539, 262148, 458758, 524296, 262148, 327684, 524294, 589831, 458757, 524294, 589831, 655368, 524295, 524295, 589832, 655369], k.bitrate_table = [[0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1]], k.samplerate_table = [[22050, 24e3, 16e3, -1], [44100, 48e3, 32e3, -1], [11025, 12e3, 8e3, -1]], k.scfsi_band = [0, 6, 11, 16, 21], T.Q_MAX = 257, T.Q_MAX2 = 116, T.LARGE_BITS = 1e5, T.IXMAX_VAL = 8206;
- var F = {};
- function C() {
- var r, g;
+ F.t1HB = [1, 1, 1, 0], F.t2HB = [1, 2, 1, 3, 1, 1, 3, 2, 0], F.t3HB = [3, 2, 1, 1, 1, 1, 3, 2, 0], F.t5HB = [1, 2, 6, 5, 3, 1, 4, 4, 7, 5, 7, 1, 6, 1, 1, 0], F.t6HB = [7, 3, 5, 1, 6, 2, 3, 2, 5, 4, 4, 1, 3, 3, 2, 0], F.t7HB = [1, 2, 10, 19, 16, 10, 3, 3, 7, 10, 5, 3, 11, 4, 13, 17, 8, 4, 12, 11, 18, 15, 11, 2, 7, 6, 9, 14, 3, 1, 6, 4, 5, 3, 2, 0], F.t8HB = [3, 4, 6, 18, 12, 5, 5, 1, 2, 16, 9, 3, 7, 3, 5, 14, 7, 3, 19, 17, 15, 13, 10, 4, 13, 5, 8, 11, 5, 1, 12, 4, 4, 1, 1, 0], F.t9HB = [7, 5, 9, 14, 15, 7, 6, 4, 5, 5, 6, 7, 7, 6, 8, 8, 8, 5, 15, 6, 9, 10, 5, 1, 11, 7, 9, 6, 4, 1, 14, 4, 6, 2, 6, 0], F.t10HB = [1, 2, 10, 23, 35, 30, 12, 17, 3, 3, 8, 12, 18, 21, 12, 7, 11, 9, 15, 21, 32, 40, 19, 6, 14, 13, 22, 34, 46, 23, 18, 7, 20, 19, 33, 47, 27, 22, 9, 3, 31, 22, 41, 26, 21, 20, 5, 3, 14, 13, 10, 11, 16, 6, 5, 1, 9, 8, 7, 8, 4, 4, 2, 0], F.t11HB = [3, 4, 10, 24, 34, 33, 21, 15, 5, 3, 4, 10, 32, 17, 11, 10, 11, 7, 13, 18, 30, 31, 20, 5, 25, 11, 19, 59, 27, 18, 12, 5, 35, 33, 31, 58, 30, 16, 7, 5, 28, 26, 32, 19, 17, 15, 8, 14, 14, 12, 9, 13, 14, 9, 4, 1, 11, 4, 6, 6, 6, 3, 2, 0], F.t12HB = [9, 6, 16, 33, 41, 39, 38, 26, 7, 5, 6, 9, 23, 16, 26, 11, 17, 7, 11, 14, 21, 30, 10, 7, 17, 10, 15, 12, 18, 28, 14, 5, 32, 13, 22, 19, 18, 16, 9, 5, 40, 17, 31, 29, 17, 13, 4, 2, 27, 12, 11, 15, 10, 7, 4, 1, 27, 12, 8, 12, 6, 3, 1, 0], F.t13HB = [1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19, 3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14, 15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16, 22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14, 35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24, 58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17, 47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15, 72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42, 43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16, 53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11, 35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22, 53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7, 34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5, 45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3, 48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2, 16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1], F.t15HB = [7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63, 13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36, 19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33, 29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29, 52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27, 77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38, 125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30, 109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25, 90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20, 71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15, 109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9, 86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11, 118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7, 91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3, 123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1, 71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0], F.t16HB = [1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17, 3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9, 15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16, 45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26, 75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9, 66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16, 111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10, 98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8, 85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7, 154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11, 139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4, 243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6, 202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4, 747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2, 377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0, 12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3], F.t24HB = [15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88, 14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42, 47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18, 81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16, 147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14, 263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12, 249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10, 435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17, 427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16, 335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11, 668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10, 652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6, 648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4, 620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2, 1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0, 43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3], F.t32HB = [1, 10, 8, 20, 12, 20, 16, 32, 14, 12, 24, 0, 28, 16, 24, 16], F.t33HB = [15, 28, 26, 48, 22, 40, 36, 64, 14, 24, 20, 32, 12, 16, 8, 0], F.t1l = [1, 4, 3, 5], F.t2l = [1, 4, 7, 4, 5, 7, 6, 7, 8], F.t3l = [2, 3, 7, 4, 4, 7, 6, 7, 8], F.t5l = [1, 4, 7, 8, 4, 5, 8, 9, 7, 8, 9, 10, 8, 8, 9, 10], F.t6l = [3, 4, 6, 8, 4, 4, 6, 7, 5, 6, 7, 8, 7, 7, 8, 9], F.t7l = [1, 4, 7, 9, 9, 10, 4, 6, 8, 9, 9, 10, 7, 7, 9, 10, 10, 11, 8, 9, 10, 11, 11, 11, 8, 9, 10, 11, 11, 12, 9, 10, 11, 12, 12, 12], F.t8l = [2, 4, 7, 9, 9, 10, 4, 4, 6, 10, 10, 10, 7, 6, 8, 10, 10, 11, 9, 10, 10, 11, 11, 12, 9, 9, 10, 11, 12, 12, 10, 10, 11, 11, 13, 13], F.t9l = [3, 4, 6, 7, 9, 10, 4, 5, 6, 7, 8, 10, 5, 6, 7, 8, 9, 10, 7, 7, 8, 9, 9, 10, 8, 8, 9, 9, 10, 11, 9, 9, 10, 10, 11, 11], F.t10l = [1, 4, 7, 9, 10, 10, 10, 11, 4, 6, 8, 9, 10, 11, 10, 10, 7, 8, 9, 10, 11, 12, 11, 11, 8, 9, 10, 11, 12, 12, 11, 12, 9, 10, 11, 12, 12, 12, 12, 12, 10, 11, 12, 12, 13, 13, 12, 13, 9, 10, 11, 12, 12, 12, 13, 13, 10, 10, 11, 12, 12, 13, 13, 13], F.t11l = [2, 4, 6, 8, 9, 10, 9, 10, 4, 5, 6, 8, 10, 10, 9, 10, 6, 7, 8, 9, 10, 11, 10, 10, 8, 8, 9, 11, 10, 12, 10, 11, 9, 10, 10, 11, 11, 12, 11, 12, 9, 10, 11, 12, 12, 13, 12, 13, 9, 9, 9, 10, 11, 12, 12, 12, 9, 9, 10, 11, 12, 12, 12, 12], F.t12l = [4, 4, 6, 8, 9, 10, 10, 10, 4, 5, 6, 7, 9, 9, 10, 10, 6, 6, 7, 8, 9, 10, 9, 10, 7, 7, 8, 8, 9, 10, 10, 10, 8, 8, 9, 9, 10, 10, 10, 11, 9, 9, 10, 10, 10, 11, 10, 11, 9, 9, 9, 10, 10, 11, 11, 12, 10, 10, 10, 11, 11, 11, 11, 12], F.t13l = [1, 5, 7, 8, 9, 10, 10, 11, 10, 11, 12, 12, 13, 13, 14, 14, 4, 6, 8, 9, 10, 10, 11, 11, 11, 11, 12, 12, 13, 14, 14, 14, 7, 8, 9, 10, 11, 11, 12, 12, 11, 12, 12, 13, 13, 14, 15, 15, 8, 9, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 15, 9, 9, 11, 11, 12, 12, 13, 13, 12, 13, 13, 14, 14, 15, 15, 16, 10, 10, 11, 12, 12, 12, 13, 13, 13, 13, 14, 13, 15, 15, 16, 16, 10, 11, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 15, 15, 16, 16, 11, 11, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 18, 18, 10, 10, 11, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 16, 17, 17, 11, 11, 12, 12, 13, 13, 13, 15, 14, 15, 15, 16, 16, 16, 18, 17, 11, 12, 12, 13, 13, 14, 14, 15, 14, 15, 16, 15, 16, 17, 18, 19, 12, 12, 12, 13, 14, 14, 14, 14, 15, 15, 15, 16, 17, 17, 17, 18, 12, 13, 13, 14, 14, 15, 14, 15, 16, 16, 17, 17, 17, 18, 18, 18, 13, 13, 14, 15, 15, 15, 16, 16, 16, 16, 16, 17, 18, 17, 18, 18, 14, 14, 14, 15, 15, 15, 17, 16, 16, 19, 17, 17, 17, 19, 18, 18, 13, 14, 15, 16, 16, 16, 17, 16, 17, 17, 18, 18, 21, 20, 21, 18], F.t15l = [3, 5, 6, 8, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 14, 5, 5, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 6, 7, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 13, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 13, 13, 13, 14, 10, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 14, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 14, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 15, 14, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 12, 12, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 14, 14, 15, 15, 12, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 14, 15, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15], F.t16_5l = [1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 11, 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 11, 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 12, 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 13, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 12, 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 13, 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 13, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 13, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 13, 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 14, 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 13, 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 14, 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 14, 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 14, 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 14, 11, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 12], F.t16l = [1, 5, 7, 9, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 10, 4, 6, 8, 9, 10, 11, 11, 11, 12, 12, 12, 13, 14, 13, 14, 10, 7, 8, 9, 10, 11, 11, 12, 12, 13, 12, 13, 13, 13, 14, 14, 11, 9, 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 12, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 11, 10, 10, 11, 11, 12, 13, 13, 14, 13, 14, 14, 15, 15, 15, 16, 12, 11, 11, 11, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 16, 12, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 17, 17, 12, 11, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 12, 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 15, 16, 15, 13, 12, 13, 12, 13, 14, 14, 14, 14, 15, 16, 16, 16, 17, 17, 16, 12, 13, 13, 13, 13, 14, 14, 15, 16, 16, 16, 16, 16, 16, 15, 16, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 17, 16, 16, 16, 16, 18, 13, 15, 14, 14, 14, 15, 15, 16, 16, 16, 18, 17, 17, 17, 19, 17, 13, 14, 15, 13, 14, 16, 16, 15, 16, 16, 17, 18, 17, 19, 17, 16, 13, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10], F.t24l = [4, 5, 7, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 13, 10, 5, 6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 10, 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 9, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 13, 9, 10, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 9, 11, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 10, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 10, 12, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10, 12, 12, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 10, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 10, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 10, 13, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 6], F.t32l = [1, 5, 5, 7, 5, 8, 7, 9, 5, 7, 7, 9, 7, 9, 9, 10], F.t33l = [4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8], F.ht = [new e(0, 0, null, null), new e(2, 0, F.t1HB, F.t1l), new e(3, 0, F.t2HB, F.t2l), new e(3, 0, F.t3HB, F.t3l), new e(0, 0, null, null), new e(4, 0, F.t5HB, F.t5l), new e(4, 0, F.t6HB, F.t6l), new e(6, 0, F.t7HB, F.t7l), new e(6, 0, F.t8HB, F.t8l), new e(6, 0, F.t9HB, F.t9l), new e(8, 0, F.t10HB, F.t10l), new e(8, 0, F.t11HB, F.t11l), new e(8, 0, F.t12HB, F.t12l), new e(16, 0, F.t13HB, F.t13l), new e(0, 0, null, F.t16_5l), new e(16, 0, F.t15HB, F.t15l), new e(1, 1, F.t16HB, F.t16l), new e(2, 3, F.t16HB, F.t16l), new e(3, 7, F.t16HB, F.t16l), new e(4, 15, F.t16HB, F.t16l), new e(6, 63, F.t16HB, F.t16l), new e(8, 255, F.t16HB, F.t16l), new e(10, 1023, F.t16HB, F.t16l), new e(13, 8191, F.t16HB, F.t16l), new e(4, 15, F.t24HB, F.t24l), new e(5, 31, F.t24HB, F.t24l), new e(6, 63, F.t24HB, F.t24l), new e(7, 127, F.t24HB, F.t24l), new e(8, 255, F.t24HB, F.t24l), new e(9, 511, F.t24HB, F.t24l), new e(11, 2047, F.t24HB, F.t24l), new e(13, 8191, F.t24HB, F.t24l), new e(0, 0, F.t32HB, F.t32l), new e(0, 0, F.t33HB, F.t33l)], F.largetbl = [65540, 327685, 458759, 589832, 655369, 655370, 720906, 720907, 786443, 786444, 786444, 851980, 851980, 851980, 917517, 655370, 262149, 393222, 524295, 589832, 655369, 720906, 720906, 720907, 786443, 786443, 786444, 851980, 917516, 851980, 917516, 655370, 458759, 524295, 589832, 655369, 720905, 720906, 786442, 786443, 851979, 786443, 851979, 851980, 851980, 917516, 917517, 720905, 589832, 589832, 655369, 720905, 720906, 786442, 786442, 786443, 851979, 851979, 917515, 917516, 917516, 983052, 983052, 786441, 655369, 655369, 720905, 720906, 786442, 786442, 851978, 851979, 851979, 917515, 917516, 917516, 983052, 983052, 983053, 720905, 655370, 655369, 720906, 720906, 786442, 851978, 851979, 917515, 851979, 917515, 917516, 983052, 983052, 983052, 1048588, 786441, 720906, 720906, 720906, 786442, 851978, 851979, 851979, 851979, 917515, 917516, 917516, 917516, 983052, 983052, 1048589, 786441, 720907, 720906, 786442, 786442, 851979, 851979, 851979, 917515, 917516, 983052, 983052, 983052, 983052, 1114125, 1114125, 786442, 720907, 786443, 786443, 851979, 851979, 851979, 917515, 917515, 983051, 983052, 983052, 983052, 1048588, 1048589, 1048589, 786442, 786443, 786443, 786443, 851979, 851979, 917515, 917515, 983052, 983052, 983052, 983052, 1048588, 983053, 1048589, 983053, 851978, 786444, 851979, 786443, 851979, 917515, 917516, 917516, 917516, 983052, 1048588, 1048588, 1048589, 1114125, 1114125, 1048589, 786442, 851980, 851980, 851979, 851979, 917515, 917516, 983052, 1048588, 1048588, 1048588, 1048588, 1048589, 1048589, 983053, 1048589, 851978, 851980, 917516, 917516, 917516, 917516, 983052, 983052, 983052, 983052, 1114124, 1048589, 1048589, 1048589, 1048589, 1179661, 851978, 983052, 917516, 917516, 917516, 983052, 983052, 1048588, 1048588, 1048589, 1179661, 1114125, 1114125, 1114125, 1245197, 1114125, 851978, 917517, 983052, 851980, 917516, 1048588, 1048588, 983052, 1048589, 1048589, 1114125, 1179661, 1114125, 1245197, 1114125, 1048589, 851978, 655369, 655369, 655369, 720905, 720905, 786441, 786441, 786441, 851977, 851977, 851977, 851978, 851978, 851978, 851978, 655366], F.table23 = [65538, 262147, 458759, 262148, 327684, 458759, 393222, 458759, 524296], F.table56 = [65539, 262148, 458758, 524296, 262148, 327684, 524294, 589831, 458757, 524294, 589831, 655368, 524295, 524295, 589832, 655369], F.bitrate_table = [[0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160, -1], [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1], [0, 8, 16, 24, 32, 40, 48, 56, 64, -1, -1, -1, -1, -1, -1, -1]], F.samplerate_table = [[22050, 24e3, 16e3, -1], [44100, 48e3, 32e3, -1], [11025, 12e3, 8e3, -1]], F.scfsi_band = [0, 6, 11, 16, 21], x.Q_MAX = 257, x.Q_MAX2 = 116, x.LARGE_BITS = 1e5, x.IXMAX_VAL = 8206;
+ var z = {};
+ function w() {
+ var v, g, M;
this.rv = null, this.qupvt = null;
var w,
- s = new function () {
+ n = new function () {
this.setModules = function (e, t) {};
}();
- function S(e) {
+ function R(e) {
this.ordinal = e;
}
function o(e) {
for (var t = 0; t < e.sfbmax; t++) if (e.scalefac[t] + e.subblock_gain[e.window[t]] == 0) return !1;
return !0;
}
- function M(e, t, a, n, s) {
+ function A(e, t, a, s, n) {
var r;
switch (e) {
default:
@@ -35935,10 +35630,13 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
0 < t.over_count ? (r = a.over_SSD <= t.over_SSD, a.over_SSD == t.over_SSD && (r = a.bits < t.bits)) : r = a.max_noise < 0 && 10 * a.max_noise + a.bits <= 10 * t.max_noise + t.bits;
break;
case 0:
- r = a.over_count < t.over_count || a.over_count == t.over_count && a.over_noise < t.over_noise || a.over_count == t.over_count && N.EQ(a.over_noise, t.over_noise) && a.tot_noise < t.tot_noise;
+ r = a.over_count < t.over_count || a.over_count == t.over_count && a.over_noise < t.over_noise || a.over_count == t.over_count && q.EQ(a.over_noise, t.over_noise) && a.tot_noise < t.tot_noise;
break;
case 8:
- me();
+ a.max_noise = function (e, t) {
+ for (var a, s = 1e-37, n = 0; n < t.psymax; n++) s += (a = e[n], ee.FAST_LOG10(.368 + .632 * a * a * a));
+ return Math.max(1e-20, s);
+ }(n, s);
case 1:
r = a.max_noise < t.max_noise;
break;
@@ -35952,25 +35650,25 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
r = a.max_noise <= 0 && .2 < t.max_noise || a.max_noise <= 0 && t.max_noise < 0 && t.max_noise > a.max_noise - .2 && a.tot_noise < t.tot_noise || a.max_noise <= 0 && 0 < t.max_noise && t.max_noise > a.max_noise - .2 && a.tot_noise < t.tot_noise + t.over_noise || 0 < a.max_noise && -.05 < t.max_noise && t.max_noise > a.max_noise - .1 && a.tot_noise + a.over_noise < t.tot_noise + t.over_noise || 0 < a.max_noise && -.1 < t.max_noise && t.max_noise > a.max_noise - .15 && a.tot_noise + a.over_noise + a.over_noise < t.tot_noise + t.over_noise + t.over_noise;
break;
case 5:
- r = a.over_noise < t.over_noise || N.EQ(a.over_noise, t.over_noise) && a.tot_noise < t.tot_noise;
+ r = a.over_noise < t.over_noise || q.EQ(a.over_noise, t.over_noise) && a.tot_noise < t.tot_noise;
break;
case 6:
- r = a.over_noise < t.over_noise || N.EQ(a.over_noise, t.over_noise) && (a.max_noise < t.max_noise || N.EQ(a.max_noise, t.max_noise) && a.tot_noise <= t.tot_noise);
+ r = a.over_noise < t.over_noise || q.EQ(a.over_noise, t.over_noise) && (a.max_noise < t.max_noise || q.EQ(a.max_noise, t.max_noise) && a.tot_noise <= t.tot_noise);
break;
case 7:
r = a.over_count < t.over_count || a.over_noise < t.over_noise;
}
return 0 == t.over_count && (r = r && a.bits < t.bits), r;
}
- function y(e, t, a, n, s) {
+ function B(e, t, a, s, n) {
var r = e.internal_flags;
- !function (e, t, a, n, s) {
+ !function (e, t, a, s, n) {
var r,
i = e.internal_flags;
r = 0 == t.scalefac_scale ? 1.2968395546510096 : 1.6817928305074292;
for (var o = 0, _ = 0; _ < t.sfbmax; _++) o < a[_] && (o = a[_]);
var l = i.noise_shaping_amp;
- switch (3 == l && me(), l) {
+ switch (3 == l && (l = n ? 2 : 1), l) {
case 2:
break;
case 1:
@@ -35980,536 +35678,734 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
default:
1 < o ? o = 1 : o *= .95;
}
- for (var f = 0, _ = 0; _ < t.sfbmax; _++) {
+ var f = 0;
+ for (_ = 0; _ < t.sfbmax; _++) {
var c,
- u = t.width[_];
- if (f += u, !(a[_] < o)) {
- for (0 != (2 & i.substep_shaping) && me(), t.scalefac[_]++, c = -u; c < 0; c++) n[f + c] *= r, n[f + c] > t.xrpow_max && (t.xrpow_max = n[f + c]);
+ h = t.width[_];
+ if (f += h, !(a[_] < o)) {
+ if (0 != (2 & i.substep_shaping) && (i.pseudohalf[_] = 0 == i.pseudohalf[_] ? 1 : 0, 0 == i.pseudohalf[_] && 2 == i.noise_shaping_amp)) return;
+ for (t.scalefac[_]++, c = -h; c < 0; c++) s[f + c] *= r, s[f + c] > t.xrpow_max && (t.xrpow_max = s[f + c]);
if (2 == i.noise_shaping_amp) return;
}
}
- }(e, t, a, n);
+ }(e, t, a, s, n);
var i = o(t);
- return !(i || (i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)) && (1 < r.noise_shaping && (we.fill(r.pseudohalf, 0), 0 == t.scalefac_scale ? (function (e, t) {
- for (var a = 0, n = 0; n < e.sfbmax; n++) {
- var s = e.width[n],
- r = e.scalefac[n];
- if (0 != e.preflag && (r += g.pretab[n]), a += s, 0 != (1 & r)) {
+ return !i && (!(i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)) || (1 < r.noise_shaping && (ye.fill(r.pseudohalf, 0), 0 == t.scalefac_scale ? (!function (e, t) {
+ for (var a = 0, s = 0; s < e.sfbmax; s++) {
+ var n = e.width[s],
+ r = e.scalefac[s];
+ if (0 != e.preflag && (r += M.pretab[s]), a += n, 0 != (1 & r)) {
r++;
- for (var i = -s; i < 0; i++) t[a + i] *= 1.2968395546510096, t[a + i] > e.xrpow_max && (e.xrpow_max = t[a + i]);
+ for (var i = -n; i < 0; i++) t[a + i] *= 1.2968395546510096, t[a + i] > e.xrpow_max && (e.xrpow_max = t[a + i]);
}
- e.scalefac[n] = r >> 1;
+ e.scalefac[s] = r >> 1;
}
e.preflag = 0, e.scalefac_scale = 1;
- }(t, n), i = !1) : t.block_type == Ae.SHORT_TYPE && 0 < r.subblock_gain && (i = function (e, t, a) {
- var n,
- s = t.scalefac;
- for (n = 0; n < t.sfb_lmax; n++) if (16 <= s[n]) return !0;
+ }(t, s), i = !1) : t.block_type == Pe.SHORT_TYPE && 0 < r.subblock_gain && (i = function (e, t, a) {
+ var s,
+ n = t.scalefac;
+ for (s = 0; s < t.sfb_lmax; s++) if (16 <= n[s]) return !0;
for (var r = 0; r < 3; r++) {
var i = 0,
o = 0;
- for (n = t.sfb_lmax + r; n < t.sfbdivide; n += 3) i < s[n] && (i = s[n]);
- for (; n < t.sfbmax; n += 3) o < s[n] && (o = s[n]);
+ for (s = t.sfb_lmax + r; s < t.sfbdivide; s += 3) i < n[s] && (i = n[s]);
+ for (; s < t.sfbmax; s += 3) o < n[s] && (o = n[s]);
if (!(i < 16 && o < 8)) {
if (7 <= t.subblock_gain[r]) return !0;
t.subblock_gain[r]++;
var _ = e.scalefac_band.l[t.sfb_lmax];
- for (n = t.sfb_lmax + r; n < t.sfbmax; n += 3) {
- var l = t.width[n],
- f = s[n];
- if (0 <= (f -= 4 >> t.scalefac_scale)) s[n] = f, _ += 3 * l;else {
- s[n] = 0;
+ for (s = t.sfb_lmax + r; s < t.sfbmax; s += 3) {
+ var l = t.width[s],
+ f = n[s];
+ if (0 <= (f -= 4 >> t.scalefac_scale)) n[s] = f, _ += 3 * l;else {
+ n[s] = 0;
var c = 210 + (f << t.scalefac_scale + 1);
- h = g.IPOW20(c), _ += l * (r + 1);
- for (var u = -l; u < 0; u++) a[_ + u] *= h, a[_ + u] > t.xrpow_max && (t.xrpow_max = a[_ + u]);
+ u = M.IPOW20(c), _ += l * (r + 1);
+ for (var h = -l; h < 0; h++) a[_ + h] *= u, a[_ + h] > t.xrpow_max && (t.xrpow_max = a[_ + h]);
_ += l * (3 - r - 1);
}
}
- var h = g.IPOW20(202);
- _ += t.width[n] * (r + 1);
- for (var u = -t.width[n]; u < 0; u++) a[_ + u] *= h, a[_ + u] > t.xrpow_max && (t.xrpow_max = a[_ + u]);
+ var u = M.IPOW20(202);
+ for (_ += t.width[s] * (r + 1), h = -t.width[s]; h < 0; h++) a[_ + h] *= u, a[_ + h] > t.xrpow_max && (t.xrpow_max = a[_ + h]);
}
}
return !1;
- }(r, t, n) || o(t))), i || (i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)), i));
+ }(r, t, s) || o(t))), i || (i = 2 == r.mode_gr ? w.scale_bitcount(t) : w.scale_bitcount_lsf(r, t)), !i));
}
- this.setModules = function (e, t, a, n) {
- r = t, this.rv = t, g = a, this.qupvt = a, w = n, s.setModules(g, w);
+ this.setModules = function (e, t, a, s) {
+ v = e, g = t, this.rv = t, M = a, this.qupvt = a, w = s, n.setModules(M, w);
+ }, this.ms_convert = function (e, t) {
+ for (var a = 0; a < 576; ++a) {
+ var s = e.tt[t][0].xr[a],
+ n = e.tt[t][1].xr[a];
+ e.tt[t][0].xr[a] = (s + n) * (.5 * ee.SQRT2), e.tt[t][1].xr[a] = (s - n) * (.5 * ee.SQRT2);
+ }
}, this.init_xrpow = function (e, t, a) {
- var n = 0,
- s = 0 | t.max_nonzero_coeff;
- if (t.xrpow_max = 0, we.fill(a, s, 576, 0), 1e-20 < (n = function (e, t, a, n) {
- for (var s = n = 0; s <= a; ++s) {
- var r = Math.abs(e.xr[s]);
- n += r, t[s] = Math.sqrt(r * Math.sqrt(r)), t[s] > e.xrpow_max && (e.xrpow_max = t[s]);
+ var s = 0,
+ n = 0 | t.max_nonzero_coeff;
+ if (t.xrpow_max = 0, ye.fill(a, n, 576, 0), 1e-20 < (s = function (e, t, a, s) {
+ for (var n = s = 0; n <= a; ++n) {
+ var r = Math.abs(e.xr[n]);
+ s += r, t[n] = Math.sqrt(r * Math.sqrt(r)), t[n] > e.xrpow_max && (e.xrpow_max = t[n]);
}
- return n;
- }(t, a, s, n))) {
+ return s;
+ }(t, a, n, s))) {
var r = 0;
0 != (2 & e.substep_shaping) && (r = 1);
for (var i = 0; i < t.psymax; i++) e.pseudohalf[i] = r;
return !0;
}
- return we.fill(t.l3_enc, 0, 576, 0), !1;
+ return ye.fill(t.l3_enc, 0, 576, 0), !1;
}, this.init_outer_loop = function (e, t) {
- t.part2_3_length = 0, t.big_values = 0, t.count1 = 0, t.global_gain = 210, t.scalefac_compress = 0, t.table_select[0] = 0, t.table_select[1] = 0, t.table_select[2] = 0, t.subblock_gain[0] = 0, t.subblock_gain[1] = 0, t.subblock_gain[2] = 0, t.subblock_gain[3] = 0, t.region0_count = 0, t.region1_count = 0, t.preflag = 0, t.scalefac_scale = 0, t.count1table_select = 0, t.part2_length = 0, t.sfb_lmax = Ae.SBPSY_l, t.sfb_smin = Ae.SBPSY_s, t.psy_lmax = e.sfb21_extra ? Ae.SBMAX_l : Ae.SBPSY_l, t.psymax = t.psy_lmax, t.sfbmax = t.sfb_lmax, t.sfbdivide = 11;
- for (var a = 0; a < Ae.SBMAX_l; a++) t.width[a] = e.scalefac_band.l[a + 1] - e.scalefac_band.l[a], t.window[a] = 3;
- if (t.block_type == Ae.SHORT_TYPE) {
- var n = de(576);
- t.sfb_smin = 0, (t.sfb_lmax = 0) != t.mixed_block_flag && me(), t.psymax = t.sfb_lmax + 3 * ((e.sfb21_extra ? Ae.SBMAX_s : Ae.SBPSY_s) - t.sfb_smin), t.sfbmax = t.sfb_lmax + 3 * (Ae.SBPSY_s - t.sfb_smin), t.sfbdivide = t.sfbmax - 18, t.psy_lmax = t.sfb_lmax;
- var s = e.scalefac_band.l[t.sfb_lmax];
- I.arraycopy(t.xr, 0, n, 0, 576);
- for (var a = t.sfb_smin; a < Ae.SBMAX_s; a++) for (var r = e.scalefac_band.s[a], i = e.scalefac_band.s[a + 1], o = 0; o < 3; o++) for (var _ = r; _ < i; _++) t.xr[s++] = n[3 * _ + o];
- for (var l = t.sfb_lmax, a = t.sfb_smin; a < Ae.SBMAX_s; a++) t.width[l] = t.width[l + 1] = t.width[l + 2] = e.scalefac_band.s[a + 1] - e.scalefac_band.s[a], t.window[l] = 0, t.window[l + 1] = 1, t.window[l + 2] = 2, l += 3;
+ t.part2_3_length = 0, t.big_values = 0, t.count1 = 0, t.global_gain = 210, t.scalefac_compress = 0, t.table_select[0] = 0, t.table_select[1] = 0, t.table_select[2] = 0, t.subblock_gain[0] = 0, t.subblock_gain[1] = 0, t.subblock_gain[2] = 0, t.subblock_gain[3] = 0, t.region0_count = 0, t.region1_count = 0, t.preflag = 0, t.scalefac_scale = 0, t.count1table_select = 0, t.part2_length = 0, t.sfb_lmax = Pe.SBPSY_l, t.sfb_smin = Pe.SBPSY_s, t.psy_lmax = e.sfb21_extra ? Pe.SBMAX_l : Pe.SBPSY_l, t.psymax = t.psy_lmax, t.sfbmax = t.sfb_lmax, t.sfbdivide = 11;
+ for (var a = 0; a < Pe.SBMAX_l; a++) t.width[a] = e.scalefac_band.l[a + 1] - e.scalefac_band.l[a], t.window[a] = 3;
+ if (t.block_type == Pe.SHORT_TYPE) {
+ var s = Be(576);
+ t.sfb_smin = 0, (t.sfb_lmax = 0) != t.mixed_block_flag && (t.sfb_smin = 3, t.sfb_lmax = 2 * e.mode_gr + 4), t.psymax = t.sfb_lmax + 3 * ((e.sfb21_extra ? Pe.SBMAX_s : Pe.SBPSY_s) - t.sfb_smin), t.sfbmax = t.sfb_lmax + 3 * (Pe.SBPSY_s - t.sfb_smin), t.sfbdivide = t.sfbmax - 18, t.psy_lmax = t.sfb_lmax;
+ var n = e.scalefac_band.l[t.sfb_lmax];
+ $.arraycopy(t.xr, 0, s, 0, 576);
+ for (a = t.sfb_smin; a < Pe.SBMAX_s; a++) for (var r = e.scalefac_band.s[a], i = e.scalefac_band.s[a + 1], o = 0; o < 3; o++) for (var _ = r; _ < i; _++) t.xr[n++] = s[3 * _ + o];
+ var l = t.sfb_lmax;
+ for (a = t.sfb_smin; a < Pe.SBMAX_s; a++) t.width[l] = t.width[l + 1] = t.width[l + 2] = e.scalefac_band.s[a + 1] - e.scalefac_band.s[a], t.window[l] = 0, t.window[l + 1] = 1, t.window[l + 2] = 2, l += 3;
}
- t.count1bits = 0, t.sfb_partition_table = g.nr_of_sfb_block[0][0], t.slen[0] = 0, t.slen[1] = 0, t.slen[2] = 0, t.slen[3] = 0, t.max_nonzero_coeff = 575, we.fill(t.scalefac, 0), function (e, t) {
+ t.count1bits = 0, t.sfb_partition_table = M.nr_of_sfb_block[0][0], t.slen[0] = 0, t.slen[1] = 0, t.slen[2] = 0, t.slen[3] = 0, t.max_nonzero_coeff = 575, ye.fill(t.scalefac, 0), function (e, t) {
var a = e.ATH,
- n = t.xr;
- if (t.block_type != Ae.SHORT_TYPE) for (var s = !1, r = Ae.PSFB21 - 1; 0 <= r && !s; r--) {
+ s = t.xr;
+ if (t.block_type != Pe.SHORT_TYPE) for (var n = !1, r = Pe.PSFB21 - 1; 0 <= r && !n; r--) {
var i = e.scalefac_band.psfb21[r],
o = e.scalefac_band.psfb21[r + 1],
- _ = g.athAdjust(a.adjust, a.psfb21[r], a.floor);
+ _ = M.athAdjust(a.adjust, a.psfb21[r], a.floor);
1e-12 < e.nsPsy.longfact[21] && (_ *= e.nsPsy.longfact[21]);
for (var l = o - 1; i <= l; l--) {
- if (!(Math.abs(n[l]) < _)) {
- s = !0;
+ if (!(Math.abs(s[l]) < _)) {
+ n = !0;
break;
}
- n[l] = 0;
+ s[l] = 0;
}
- } else for (var f = 0; f < 3; f++) for (var s = !1, r = Ae.PSFB12 - 1; 0 <= r && !s; r--) {
- var i = 3 * e.scalefac_band.s[12] + (e.scalefac_band.s[13] - e.scalefac_band.s[12]) * f + (e.scalefac_band.psfb12[r] - e.scalefac_band.psfb12[0]),
- o = i + (e.scalefac_band.psfb12[r + 1] - e.scalefac_band.psfb12[r]),
- c = g.athAdjust(a.adjust, a.psfb12[r], a.floor);
- 1e-12 < e.nsPsy.shortfact[12] && (c *= e.nsPsy.shortfact[12]);
- for (var l = o - 1; i <= l; l--) {
- if (!(Math.abs(n[l]) < c)) {
- s = !0;
+ } else for (var f = 0; f < 3; f++) for (n = !1, r = Pe.PSFB12 - 1; 0 <= r && !n; r--) {
+ o = (i = 3 * e.scalefac_band.s[12] + (e.scalefac_band.s[13] - e.scalefac_band.s[12]) * f + (e.scalefac_band.psfb12[r] - e.scalefac_band.psfb12[0])) + (e.scalefac_band.psfb12[r + 1] - e.scalefac_band.psfb12[r]);
+ var c = M.athAdjust(a.adjust, a.psfb12[r], a.floor);
+ for (1e-12 < e.nsPsy.shortfact[12] && (c *= e.nsPsy.shortfact[12]), l = o - 1; i <= l; l--) {
+ if (!(Math.abs(s[l]) < c)) {
+ n = !0;
break;
}
- n[l] = 0;
+ s[l] = 0;
}
}
}(e, t);
- }, S.BINSEARCH_NONE = new S(0), S.BINSEARCH_UP = new S(1), S.BINSEARCH_DOWN = new S(2), this.outer_loop = function (e, t, a, n, s, r) {
+ }, R.BINSEARCH_NONE = new R(0), R.BINSEARCH_UP = new R(1), R.BINSEARCH_DOWN = new R(2), this.trancate_smallspectrums = function (e, t, a, s) {
+ var n = Be(z.SFBMAX);
+ if ((0 != (4 & e.substep_shaping) || t.block_type != Pe.SHORT_TYPE) && 0 == (128 & e.substep_shaping)) {
+ M.calc_noise(t, a, n, new y(), null);
+ for (var r = 0; r < 576; r++) {
+ var i = 0;
+ 0 != t.l3_enc[r] && (i = Math.abs(t.xr[r])), s[r] = i;
+ }
+ r = 0;
+ var o = 8;
+ t.block_type == Pe.SHORT_TYPE && (o = 6);
+ do {
+ var _,
+ l,
+ f,
+ c,
+ h = t.width[o];
+ if (r += h, !(1 <= n[o] || (ye.sort(s, r - h, h), q.EQ(s[r - 1], 0)))) {
+ _ = (1 - n[o]) * a[o], c = l = 0;
+ do {
+ var u;
+ for (f = 1; c + f < h && !q.NEQ(s[c + r - h], s[c + r + f - h]); f++);
+ if (_ < (u = s[c + r - h] * s[c + r - h] * f)) {
+ 0 != c && (l = s[c + r - h - 1]);
+ break;
+ }
+ _ -= u, c += f;
+ } while (c < h);
+ if (!q.EQ(l, 0)) for (; Math.abs(t.xr[r - h]) <= l && (t.l3_enc[r - h] = 0), 0 < --h;);
+ }
+ } while (++o < t.psymax);
+ t.part2_3_length = w.noquant_count_bits(e, t, null);
+ }
+ }, this.outer_loop = function (e, t, a, s, n, r) {
var i = e.internal_flags,
- o = new B(),
- _ = de(576),
- l = de(F.SFBMAX),
- f = new x(),
+ o = new T(),
+ _ = Be(576),
+ l = Be(z.SFBMAX),
+ f = new y(),
c = new function () {
- this.global_gain = 0, this.sfb_count1 = 0, this.step = ve(39), this.noise = de(39), this.noise_log = de(39);
+ this.global_gain = 0, this.sfb_count1 = 0, this.step = Ae(39), this.noise = Be(39), this.noise_log = Be(39);
}(),
- u = 9999999,
- h = !1;
- if (function (e, t, a, n, s) {
+ h = 9999999,
+ u = !1,
+ m = !1,
+ p = 0;
+ if (function (e, t, a, s, n) {
var r,
- i = e.CurrentStep[n],
+ i = e.CurrentStep[s],
o = !1,
- _ = e.OldValue[n],
- l = S.BINSEARCH_NONE;
+ _ = e.OldValue[s],
+ l = R.BINSEARCH_NONE;
for (t.global_gain = _, a -= t.part2_length;;) {
var f;
- if (r = w.count_bits(e, s, t, null), 1 == i || r == a) break;
- a < r ? (l == S.BINSEARCH_DOWN && (o = !0), o && (i /= 2), l = S.BINSEARCH_UP, f = i) : (l == S.BINSEARCH_UP && (o = !0), o && (i /= 2), l = S.BINSEARCH_DOWN, f = -i), t.global_gain += f, t.global_gain < 0 && me(), 255 < t.global_gain && me();
+ if (r = w.count_bits(e, n, t, null), 1 == i || r == a) break;
+ a < r ? (l == R.BINSEARCH_DOWN && (o = !0), o && (i /= 2), l = R.BINSEARCH_UP, f = i) : (l == R.BINSEARCH_UP && (o = !0), o && (i /= 2), l = R.BINSEARCH_DOWN, f = -i), t.global_gain += f, t.global_gain < 0 && (o = !(t.global_gain = 0)), 255 < t.global_gain && (t.global_gain = 255, o = !0);
}
- for (; a < r && t.global_gain < 255;) t.global_gain++, r = w.count_bits(e, s, t, null);
- e.CurrentStep[n] = 4 <= _ - t.global_gain ? 4 : 2, e.OldValue[n] = t.global_gain, t.part2_3_length = r;
- }(i, t, r, s, n), 0 == i.noise_shaping) return 100;
- g.calc_noise(t, a, l, f, c), f.bits = t.part2_3_length, o.assign(t);
+ for (; a < r && t.global_gain < 255;) t.global_gain++, r = w.count_bits(e, n, t, null);
+ e.CurrentStep[s] = 4 <= _ - t.global_gain ? 4 : 2, e.OldValue[s] = t.global_gain, t.part2_3_length = r;
+ }(i, t, r, n, s), 0 == i.noise_shaping) return 100;
+ M.calc_noise(t, a, l, f, c), f.bits = t.part2_3_length, o.assign(t);
var b = 0;
- for (I.arraycopy(n, 0, _, 0, 576); !h;) {
+ for ($.arraycopy(s, 0, _, 0, 576); !u;) {
do {
- var p,
- m = new x(),
- v = 255;
- if (p = 0 != (2 & i.substep_shaping) ? 20 : 3, i.sfb21_extra && me(), !y(e, o, l, n)) break;
- 0 != o.scalefac_scale && (v = 254);
- var d = r - o.part2_length;
- if (d <= 0) break;
- for (; (o.part2_3_length = w.count_bits(i, n, o, c)) > d && o.global_gain <= v;) o.global_gain++;
- if (o.global_gain > v) break;
- if (0 == f.over_count) {
- for (; (o.part2_3_length = w.count_bits(i, n, o, c)) > u && o.global_gain <= v;) o.global_gain++;
- if (o.global_gain > v) break;
+ var v,
+ d = new y(),
+ g = 255;
+ if (v = 0 != (2 & i.substep_shaping) ? 20 : 3, i.sfb21_extra) {
+ if (1 < l[o.sfbmax]) break;
+ if (o.block_type == Pe.SHORT_TYPE && (1 < l[o.sfbmax + 1] || 1 < l[o.sfbmax + 2])) break;
}
- if (g.calc_noise(o, a, l, m, c), m.bits = o.part2_3_length, 0 != (M(t.block_type != Ae.SHORT_TYPE ? e.quant_comp : e.quant_comp_short, f, m) ? 1 : 0)) u = t.part2_3_length, f = m, t.assign(o), b = 0, I.arraycopy(n, 0, _, 0, 576);else if (0 == i.full_outer_loop) {
- if (++b > p && 0 == f.over_count) break;
- i.noise_shaping_amp, i.noise_shaping_amp;
+ if (!B(e, o, l, s, m)) break;
+ 0 != o.scalefac_scale && (g = 254);
+ var S = r - o.part2_length;
+ if (S <= 0) break;
+ for (; (o.part2_3_length = w.count_bits(i, s, o, c)) > S && o.global_gain <= g;) o.global_gain++;
+ if (o.global_gain > g) break;
+ if (0 == f.over_count) {
+ for (; (o.part2_3_length = w.count_bits(i, s, o, c)) > h && o.global_gain <= g;) o.global_gain++;
+ if (o.global_gain > g) break;
+ }
+ if (M.calc_noise(o, a, l, d, c), d.bits = o.part2_3_length, 0 != (A(t.block_type != Pe.SHORT_TYPE ? e.quant_comp : e.quant_comp_short, f, d, o, l) ? 1 : 0)) h = t.part2_3_length, f = d, t.assign(o), b = 0, $.arraycopy(s, 0, _, 0, 576);else if (0 == i.full_outer_loop) {
+ if (++b > v && 0 == f.over_count) break;
+ if (3 == i.noise_shaping_amp && m && 30 < b) break;
+ if (3 == i.noise_shaping_amp && m && 15 < o.global_gain - p) break;
}
} while (o.global_gain + o.scalefac_scale < 255);
- 3 == i.noise_shaping_amp ? me() : h = !0;
+ 3 == i.noise_shaping_amp ? m ? u = !0 : (o.assign(t), $.arraycopy(_, 0, s, 0, 576), b = 0, p = o.global_gain, m = !0) : u = !0;
}
- return e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh ? I.arraycopy(_, 0, n, 0, 576) : 0 != (1 & i.substep_shaping) && me(), f.over_count;
+ return e.VBR == xe.vbr_rh || e.VBR == xe.vbr_mtrh ? $.arraycopy(_, 0, s, 0, 576) : 0 != (1 & i.substep_shaping) && trancate_smallspectrums(i, t, a, s), f.over_count;
}, this.iteration_finish_one = function (e, t, a) {
- var n = e.l3_side,
- s = n.tt[t][a];
- w.best_scalefac_store(e, t, a, n), 1 == e.use_best_huffman && w.best_huffman_divide(e, s), r.ResvAdjust(e, s);
+ var s = e.l3_side,
+ n = s.tt[t][a];
+ w.best_scalefac_store(e, t, a, s), 1 == e.use_best_huffman && w.best_huffman_divide(e, n), g.ResvAdjust(e, n);
+ }, this.VBR_encode_granule = function (e, t, a, s, n, r, i) {
+ var o,
+ _ = e.internal_flags,
+ l = new T(),
+ f = Be(576),
+ c = i,
+ h = i + 1,
+ u = (i + r) / 2,
+ m = 0,
+ p = _.sfb21_extra;
+ for (ye.fill(l.l3_enc, 0); _.sfb21_extra = !(c - 42 < u) && p, outer_loop(e, t, a, s, n, u) <= 0 ? (m = 1, h = t.part2_3_length, l.assign(t), $.arraycopy(s, 0, f, 0, 576), o = (i = h - 32) - r, u = (i + r) / 2) : (o = i - (r = u + 32), u = (i + r) / 2, 0 != m && (m = 2, t.assign(l), $.arraycopy(f, 0, s, 0, 576))), 12 < o;);
+ _.sfb21_extra = p, 2 == m && $.arraycopy(l.l3_enc, 0, t.l3_enc, 0, 576);
+ }, this.get_framebits = function (e, t) {
+ var a = e.internal_flags;
+ a.bitrate_index = a.VBR_min_bitrate;
+ var s = v.getframebits(e);
+ a.bitrate_index = 1, s = v.getframebits(e);
+ for (var n = 1; n <= a.VBR_max_bitrate; n++) {
+ a.bitrate_index = n;
+ var r = new j(s);
+ t[n] = g.ResvFrameBegin(e, r), s = r.bits;
+ }
+ }, this.VBR_old_prepare = function (e, t, a, s, n, r, i, o, _) {
+ var l,
+ f = e.internal_flags,
+ c = 0,
+ h = 1,
+ u = 0;
+ f.bitrate_index = f.VBR_max_bitrate;
+ var m = g.ResvFrameBegin(e, new j(0)) / f.mode_gr;
+ get_framebits(e, r);
+ for (var p = 0; p < f.mode_gr; p++) {
+ var b = M.on_pe(e, t, o[p], m, p, 0);
+ f.mode_ext == Pe.MPG_MD_MS_LR && (ms_convert(f.l3_side, p), M.reduce_side(o[p], a[p], m, b));
+ for (var v = 0; v < f.channels_out; ++v) {
+ var d = f.l3_side.tt[p][v];
+ d.block_type != Pe.SHORT_TYPE ? (c = 1.28 / (1 + Math.exp(3.5 - t[p][v] / 300)) - .05, l = f.PSY.mask_adjust - c) : (c = 2.56 / (1 + Math.exp(3.5 - t[p][v] / 300)) - .14, l = f.PSY.mask_adjust_short - c), f.masking_lower = Math.pow(10, .1 * l), init_outer_loop(f, d), _[p][v] = M.calc_xmin(e, s[p][v], d, n[p][v]), 0 != _[p][v] && (h = 0), i[p][v] = 126, u += o[p][v];
+ }
+ }
+ for (p = 0; p < f.mode_gr; p++) for (v = 0; v < f.channels_out; v++) u > r[f.VBR_max_bitrate] && (o[p][v] *= r[f.VBR_max_bitrate], o[p][v] /= u), i[p][v] > o[p][v] && (i[p][v] = o[p][v]);
+ return h;
+ }, this.bitpressure_strategy = function (e, t, a, s) {
+ for (var n = 0; n < e.mode_gr; n++) for (var r = 0; r < e.channels_out; r++) {
+ for (var i = e.l3_side.tt[n][r], o = t[n][r], _ = 0, l = 0; l < i.psy_lmax; l++) o[_++] *= 1 + .029 * l * l / Pe.SBMAX_l / Pe.SBMAX_l;
+ if (i.block_type == Pe.SHORT_TYPE) for (l = i.sfb_smin; l < Pe.SBMAX_s; l++) o[_++] *= 1 + .029 * l * l / Pe.SBMAX_s / Pe.SBMAX_s, o[_++] *= 1 + .029 * l * l / Pe.SBMAX_s / Pe.SBMAX_s, o[_++] *= 1 + .029 * l * l / Pe.SBMAX_s / Pe.SBMAX_s;
+ s[n][r] = 0 | Math.max(a[n][r], .9 * s[n][r]);
+ }
+ }, this.VBR_new_prepare = function (e, t, a, s, n, r) {
+ var i,
+ o = e.internal_flags,
+ _ = 1,
+ l = 0,
+ f = 0;
+ if (e.free_format) {
+ o.bitrate_index = 0;
+ c = new j(l);
+ i = g.ResvFrameBegin(e, c), l = c.bits, n[0] = i;
+ } else {
+ o.bitrate_index = o.VBR_max_bitrate;
+ var c = new j(l);
+ g.ResvFrameBegin(e, c), l = c.bits, get_framebits(e, n), i = n[o.VBR_max_bitrate];
+ }
+ for (var h = 0; h < o.mode_gr; h++) {
+ M.on_pe(e, t, r[h], l, h, 0), o.mode_ext == Pe.MPG_MD_MS_LR && ms_convert(o.l3_side, h);
+ for (var u = 0; u < o.channels_out; ++u) {
+ var m = o.l3_side.tt[h][u];
+ o.masking_lower = Math.pow(10, .1 * o.PSY.mask_adjust), init_outer_loop(o, m), 0 != M.calc_xmin(e, a[h][u], m, s[h][u]) && (_ = 0), f += r[h][u];
+ }
+ }
+ for (h = 0; h < o.mode_gr; h++) for (u = 0; u < o.channels_out; u++) i < f && (r[h][u] *= i, r[h][u] /= f);
+ return _;
+ }, this.calc_target_bits = function (e, t, a, s, n, r) {
+ var i,
+ o,
+ _,
+ l,
+ f = e.internal_flags,
+ c = f.l3_side,
+ h = 0;
+ f.bitrate_index = f.VBR_max_bitrate;
+ var u = new j(h);
+ for (r[0] = g.ResvFrameBegin(e, u), h = u.bits, f.bitrate_index = 1, h = v.getframebits(e) - 8 * f.sideinfo_len, n[0] = h / (f.mode_gr * f.channels_out), h = e.VBR_mean_bitrate_kbps * e.framesize * 1e3, 0 != (1 & f.substep_shaping) && (h *= 1.09), h /= e.out_samplerate, h -= 8 * f.sideinfo_len, h /= f.mode_gr * f.channels_out, (i = .93 + .07 * (11 - e.compression_ratio) / 5.5) < .9 && (i = .9), 1 < i && (i = 1), o = 0; o < f.mode_gr; o++) {
+ var m = 0;
+ for (_ = 0; _ < f.channels_out; _++) {
+ if (s[o][_] = int(i * h), 700 < t[o][_]) {
+ var p = int((t[o][_] - 700) / 1.4),
+ b = c.tt[o][_];
+ s[o][_] = int(i * h), b.block_type == Pe.SHORT_TYPE && p < h / 2 && (p = h / 2), 3 * h / 2 < p ? p = 3 * h / 2 : p < 0 && (p = 0), s[o][_] += p;
+ }
+ s[o][_] > Z.MAX_BITS_PER_CHANNEL && (s[o][_] = Z.MAX_BITS_PER_CHANNEL), m += s[o][_];
+ }
+ if (Z.MAX_BITS_PER_GRANULE < m) for (_ = 0; _ < f.channels_out; ++_) s[o][_] *= Z.MAX_BITS_PER_GRANULE, s[o][_] /= m;
+ }
+ if (f.mode_ext == Pe.MPG_MD_MS_LR) for (o = 0; o < f.mode_gr; o++) M.reduce_side(s[o], a[o], h * f.channels_out, Z.MAX_BITS_PER_GRANULE);
+ for (o = l = 0; o < f.mode_gr; o++) for (_ = 0; _ < f.channels_out; _++) s[o][_] > Z.MAX_BITS_PER_CHANNEL && (s[o][_] = Z.MAX_BITS_PER_CHANNEL), l += s[o][_];
+ if (l > r[0]) for (o = 0; o < f.mode_gr; o++) for (_ = 0; _ < f.channels_out; _++) s[o][_] *= r[0], s[o][_] /= l;
};
}
- function L() {
+ function N() {
this.thm = new i(), this.en = new i();
}
- function Ae() {
- var k = Ae.MPG_MD_MS_LR,
- R = null,
- x = this.psy = null,
- B = null;
- this.setModules = function (e, t, a, n) {
- R = e, this.psy = t, x = t, B = n;
+ function Pe() {
+ var E = Pe.FFTOFFSET,
+ P = Pe.MPG_MD_MS_LR,
+ L = null,
+ I = this.psy = null,
+ H = null,
+ C = null;
+ this.setModules = function (e, t, a, s) {
+ L = e, this.psy = t, I = t, H = s, C = a;
};
- var T = new function () {
- var u = [-.1482523854003001, 32.308141959636465, 296.40344946382766, 883.1344870032432, 11113.947376231741, 1057.2713659324597, 305.7402417275812, 30.825928907280012, 3.8533188138216365, 59.42900443849514, 709.5899960123345, 5281.91112291017, -5829.66483675846, -817.6293103748613, -76.91656988279972, -4.594269939176596, .9063471690191471, .1960342806591213, -.15466694054279598, 34.324387823855965, 301.8067566458425, 817.599602898885, 11573.795901679885, 1181.2520595540152, 321.59731579894424, 31.232021761053772, 3.7107095756221318, 53.650946155329365, 684.167428119626, 5224.56624370173, -6366.391851890084, -908.9766368219582, -89.83068876699639, -5.411397422890401, .8206787908286602, .3901806440322567, -.16070888947830023, 36.147034243915876, 304.11815768187864, 732.7429163887613, 11989.60988270091, 1300.012278487897, 335.28490093152146, 31.48816102859945, 3.373875931311736, 47.232241542899175, 652.7371796173471, 5132.414255594984, -6909.087078780055, -1001.9990371107289, -103.62185754286375, -6.104916304710272, .7416505462720353, .5805693545089249, -.16636367662261495, 37.751650073343995, 303.01103387567713, 627.9747488785183, 12358.763425278165, 1412.2779918482834, 346.7496836825721, 31.598286663170416, 3.1598635433980946, 40.57878626349686, 616.1671130880391, 5007.833007176154, -7454.040671756168, -1095.7960341867115, -118.24411666465777, -6.818469345853504, .6681786379192989, .7653668647301797, -.1716176790982088, 39.11551877123304, 298.3413246578966, 503.5259106886539, 12679.589408408976, 1516.5821921214542, 355.9850766329023, 31.395241710249053, 2.9164211881972335, 33.79716964664243, 574.8943997801362, 4853.234992253242, -7997.57021486075, -1189.7624067269965, -133.6444792601766, -7.7202770609839915, .5993769336819237, .9427934736519954, -.17645823955292173, 40.21879108166477, 289.9982036694474, 359.3226160751053, 12950.259102786438, 1612.1013903507662, 362.85067106591504, 31.045922092242872, 2.822222032597987, 26.988862316190684, 529.8996541764288, 4671.371946949588, -8535.899136645805, -1282.5898586244496, -149.58553632943463, -8.643494270763135, .5345111359507916, 1.111140466039205, -.36174739330527045, 41.04429910497807, 277.5463268268618, 195.6386023135583, 13169.43812144731, 1697.6433561479398, 367.40983966190305, 30.557037410382826, 2.531473372857427, 20.070154905927314, 481.50208566532336, 4464.970341588308, -9065.36882077239, -1373.62841526722, -166.1660487028118, -9.58289321133207, .4729647758913199, 1.268786568327291, -.36970682634889585, 41.393213350082036, 261.2935935556502, 12.935476055240873, 13336.131683328815, 1772.508612059496, 369.76534388639965, 29.751323653701338, 2.4023193045459172, 13.304795348228817, 430.5615775526625, 4237.0568611071185, -9581.931701634761, -1461.6913552409758, -183.12733958476446, -10.718010163869403, .41421356237309503, 1.414213562373095, -.37677560326535325, 41.619486213528496, 241.05423794991074, -187.94665032361226, 13450.063605744153, 1836.153896465782, 369.4908799925761, 29.001847876923147, 2.0714759319987186, 6.779591200894186, 377.7767837205709, 3990.386575512536, -10081.709459700915, -1545.947424837898, -200.3762958015653, -11.864482073055006, .3578057213145241, 1.546020906725474, -.3829366947518991, 41.1516456456653, 216.47684307105183, -406.1569483347166, 13511.136535077321, 1887.8076599260432, 367.3025214564151, 28.136213436723654, 1.913880671464418, .3829366947518991, 323.85365704338597, 3728.1472257487526, -10561.233882199509, -1625.2025997821418, -217.62525175416, -13.015432208941645, .3033466836073424, 1.66293922460509, -.5822628872992417, 40.35639251440489, 188.20071124269245, -640.2706748618148, 13519.21490106562, 1927.6022433578062, 362.8197642637487, 26.968821921868447, 1.7463817695935329, -5.62650678237171, 269.3016715297017, 3453.386536448852, -11016.145278780888, -1698.6569643425091, -234.7658734267683, -14.16351421663124, .2504869601913055, 1.76384252869671, -.5887180101749253, 39.23429103868072, 155.76096234403798, -889.2492977967378, 13475.470561874661, 1955.0535223723712, 356.4450994756727, 25.894952980042156, 1.5695032905781554, -11.181939564328772, 214.80884394039484, 3169.1640829158237, -11443.321309975563, -1765.1588461316153, -251.68908574481912, -15.49755935939164, .198912367379658, 1.847759065022573, -.7912582233652842, 37.39369355329111, 119.699486012458, -1151.0956593239027, 13380.446257078214, 1970.3952110853447, 348.01959814116185, 24.731487364283044, 1.3850130831637748, -16.421408865300393, 161.05030052864092, 2878.3322807850063, -11838.991423510031, -1823.985884688674, -268.2854986386903, -16.81724543849939, .1483359875383474, 1.913880671464418, -.7960642926861912, 35.2322109610459, 80.01928065061526, -1424.0212633405113, 13235.794061869668, 1973.804052543835, 337.9908651258184, 23.289159354463873, 1.3934255946442087, -21.099669467133474, 108.48348407242611, 2583.700758091299, -12199.726194855148, -1874.2780658979746, -284.2467154529415, -18.11369784385905, .09849140335716425, 1.961570560806461, -.998795456205172, 32.56307803611191, 36.958364584370486, -1706.075448829146, 13043.287458812016, 1965.3831106103316, 326.43182772364605, 22.175018750622293, 1.198638339011324, -25.371248002043963, 57.53505923036915, 2288.41886619975, -12522.674544337233, -1914.8400385312243, -299.26241273417224, -19.37805630698734, .04912684976946725, 1.990369453344394, .035780907 * V.SQRT2 * .5 / 2384e-9, .017876148 * V.SQRT2 * .5 / 2384e-9, .003134727 * V.SQRT2 * .5 / 2384e-9, .002457142 * V.SQRT2 * .5 / 2384e-9, 971317e-9 * V.SQRT2 * .5 / 2384e-9, 218868e-9 * V.SQRT2 * .5 / 2384e-9, 101566e-9 * V.SQRT2 * .5 / 2384e-9, 13828e-9 * V.SQRT2 * .5 / 2384e-9, 12804.797818791945, 1945.5515939597317, 313.4244966442953, 49591e-9 / 2384e-9, 1995.1556208053692, 21458e-9 / 2384e-9, -69618e-9 / 2384e-9],
- A = [[2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.40084909404969e-13, 6.423305872147839e-13, 2.382191739347918e-13, 5.456116108943412e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758252e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558783e-12, 8.371015190102974e-13, 2.599706096327376e-13, -5.456116108943412e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758252e-12, -2.858043359288076e-12, -2.156177623817898e-12, -1.475637723558783e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347923e-13, -6.423305872147843e-13, -9.400849094049696e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049694e-13, -6.42330587214784e-13, -2.382191739347918e-13], [2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.400849094049688e-13, 6.423305872147841e-13, 2.382191739347918e-13, 5.456116108943413e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758253e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558782e-12, 8.371015190102975e-13, 2.599706096327376e-13, -5.461314069809755e-12, -4.921085770524055e-12, -4.343405037091838e-12, -3.732668368707687e-12, -3.093523840190885e-12, -2.430835727329465e-12, -1.734679010007751e-12, -9.74825365660928e-13, -2.797435120168326e-13, 0, 0, 0, 0, 0, 0, -2.283748241799531e-13, -4.037858874020686e-13, -2.146547464825323e-13], [.1316524975873958, .414213562373095, .7673269879789602, 1.091308501069271, 1.303225372841206, 1.56968557711749, 1.920982126971166, 2.414213562373094, 3.171594802363212, 4.510708503662055, 7.595754112725146, 22.90376554843115, .984807753012208, .6427876096865394, .3420201433256688, .9396926207859084, -.1736481776669303, -.7660444431189779, .8660254037844387, .5, -.5144957554275265, -.4717319685649723, -.3133774542039019, -.1819131996109812, -.09457419252642064, -.04096558288530405, -.01419856857247115, -.003699974673760037, .8574929257125442, .8817419973177052, .9496286491027329, .9833145924917901, .9955178160675857, .9991605581781475, .999899195244447, .9999931550702802], [0, 0, 0, 0, 0, 0, 2.283748241799531e-13, 4.037858874020686e-13, 2.146547464825323e-13, 5.461314069809755e-12, 4.921085770524055e-12, 4.343405037091838e-12, 3.732668368707687e-12, 3.093523840190885e-12, 2.430835727329466e-12, 1.734679010007751e-12, 9.74825365660928e-13, 2.797435120168326e-13, -5.456116108943413e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758253e-12, -2.858043359288075e-12, -2.156177623817898e-12, -1.475637723558782e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347913e-13, -6.423305872147834e-13, -9.400849094049688e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049688e-13, -6.423305872147841e-13, -2.382191739347918e-13]],
- k = A[Ae.SHORT_TYPE],
- S = A[Ae.SHORT_TYPE],
- R = A[Ae.SHORT_TYPE],
- x = A[Ae.SHORT_TYPE],
- B = [0, 1, 16, 17, 8, 9, 24, 25, 4, 5, 20, 21, 12, 13, 28, 29, 2, 3, 18, 19, 10, 11, 26, 27, 6, 7, 22, 23, 14, 15, 30, 31];
- function T(e, t, a) {
- for (var n, s, r, i = 10, o = t + 238 - 14 - 286, _ = -15; _ < 0; _++) {
+ var V = new function () {
+ var h = [-.1482523854003001, 32.308141959636465, 296.40344946382766, 883.1344870032432, 11113.947376231741, 1057.2713659324597, 305.7402417275812, 30.825928907280012, 3.8533188138216365, 59.42900443849514, 709.5899960123345, 5281.91112291017, -5829.66483675846, -817.6293103748613, -76.91656988279972, -4.594269939176596, .9063471690191471, .1960342806591213, -.15466694054279598, 34.324387823855965, 301.8067566458425, 817.599602898885, 11573.795901679885, 1181.2520595540152, 321.59731579894424, 31.232021761053772, 3.7107095756221318, 53.650946155329365, 684.167428119626, 5224.56624370173, -6366.391851890084, -908.9766368219582, -89.83068876699639, -5.411397422890401, .8206787908286602, .3901806440322567, -.16070888947830023, 36.147034243915876, 304.11815768187864, 732.7429163887613, 11989.60988270091, 1300.012278487897, 335.28490093152146, 31.48816102859945, 3.373875931311736, 47.232241542899175, 652.7371796173471, 5132.414255594984, -6909.087078780055, -1001.9990371107289, -103.62185754286375, -6.104916304710272, .7416505462720353, .5805693545089249, -.16636367662261495, 37.751650073343995, 303.01103387567713, 627.9747488785183, 12358.763425278165, 1412.2779918482834, 346.7496836825721, 31.598286663170416, 3.1598635433980946, 40.57878626349686, 616.1671130880391, 5007.833007176154, -7454.040671756168, -1095.7960341867115, -118.24411666465777, -6.818469345853504, .6681786379192989, .7653668647301797, -.1716176790982088, 39.11551877123304, 298.3413246578966, 503.5259106886539, 12679.589408408976, 1516.5821921214542, 355.9850766329023, 31.395241710249053, 2.9164211881972335, 33.79716964664243, 574.8943997801362, 4853.234992253242, -7997.57021486075, -1189.7624067269965, -133.6444792601766, -7.7202770609839915, .5993769336819237, .9427934736519954, -.17645823955292173, 40.21879108166477, 289.9982036694474, 359.3226160751053, 12950.259102786438, 1612.1013903507662, 362.85067106591504, 31.045922092242872, 2.822222032597987, 26.988862316190684, 529.8996541764288, 4671.371946949588, -8535.899136645805, -1282.5898586244496, -149.58553632943463, -8.643494270763135, .5345111359507916, 1.111140466039205, -.36174739330527045, 41.04429910497807, 277.5463268268618, 195.6386023135583, 13169.43812144731, 1697.6433561479398, 367.40983966190305, 30.557037410382826, 2.531473372857427, 20.070154905927314, 481.50208566532336, 4464.970341588308, -9065.36882077239, -1373.62841526722, -166.1660487028118, -9.58289321133207, .4729647758913199, 1.268786568327291, -.36970682634889585, 41.393213350082036, 261.2935935556502, 12.935476055240873, 13336.131683328815, 1772.508612059496, 369.76534388639965, 29.751323653701338, 2.4023193045459172, 13.304795348228817, 430.5615775526625, 4237.0568611071185, -9581.931701634761, -1461.6913552409758, -183.12733958476446, -10.718010163869403, .41421356237309503, 1.414213562373095, -.37677560326535325, 41.619486213528496, 241.05423794991074, -187.94665032361226, 13450.063605744153, 1836.153896465782, 369.4908799925761, 29.001847876923147, 2.0714759319987186, 6.779591200894186, 377.7767837205709, 3990.386575512536, -10081.709459700915, -1545.947424837898, -200.3762958015653, -11.864482073055006, .3578057213145241, 1.546020906725474, -.3829366947518991, 41.1516456456653, 216.47684307105183, -406.1569483347166, 13511.136535077321, 1887.8076599260432, 367.3025214564151, 28.136213436723654, 1.913880671464418, .3829366947518991, 323.85365704338597, 3728.1472257487526, -10561.233882199509, -1625.2025997821418, -217.62525175416, -13.015432208941645, .3033466836073424, 1.66293922460509, -.5822628872992417, 40.35639251440489, 188.20071124269245, -640.2706748618148, 13519.21490106562, 1927.6022433578062, 362.8197642637487, 26.968821921868447, 1.7463817695935329, -5.62650678237171, 269.3016715297017, 3453.386536448852, -11016.145278780888, -1698.6569643425091, -234.7658734267683, -14.16351421663124, .2504869601913055, 1.76384252869671, -.5887180101749253, 39.23429103868072, 155.76096234403798, -889.2492977967378, 13475.470561874661, 1955.0535223723712, 356.4450994756727, 25.894952980042156, 1.5695032905781554, -11.181939564328772, 214.80884394039484, 3169.1640829158237, -11443.321309975563, -1765.1588461316153, -251.68908574481912, -15.49755935939164, .198912367379658, 1.847759065022573, -.7912582233652842, 37.39369355329111, 119.699486012458, -1151.0956593239027, 13380.446257078214, 1970.3952110853447, 348.01959814116185, 24.731487364283044, 1.3850130831637748, -16.421408865300393, 161.05030052864092, 2878.3322807850063, -11838.991423510031, -1823.985884688674, -268.2854986386903, -16.81724543849939, .1483359875383474, 1.913880671464418, -.7960642926861912, 35.2322109610459, 80.01928065061526, -1424.0212633405113, 13235.794061869668, 1973.804052543835, 337.9908651258184, 23.289159354463873, 1.3934255946442087, -21.099669467133474, 108.48348407242611, 2583.700758091299, -12199.726194855148, -1874.2780658979746, -284.2467154529415, -18.11369784385905, .09849140335716425, 1.961570560806461, -.998795456205172, 32.56307803611191, 36.958364584370486, -1706.075448829146, 13043.287458812016, 1965.3831106103316, 326.43182772364605, 22.175018750622293, 1.198638339011324, -25.371248002043963, 57.53505923036915, 2288.41886619975, -12522.674544337233, -1914.8400385312243, -299.26241273417224, -19.37805630698734, .04912684976946725, 1.990369453344394, .035780907 * ee.SQRT2 * .5 / 2384e-9, .017876148 * ee.SQRT2 * .5 / 2384e-9, .003134727 * ee.SQRT2 * .5 / 2384e-9, .002457142 * ee.SQRT2 * .5 / 2384e-9, 971317e-9 * ee.SQRT2 * .5 / 2384e-9, 218868e-9 * ee.SQRT2 * .5 / 2384e-9, 101566e-9 * ee.SQRT2 * .5 / 2384e-9, 13828e-9 * ee.SQRT2 * .5 / 2384e-9, 12804.797818791945, 1945.5515939597317, 313.4244966442953, 49591e-9 / 2384e-9, 1995.1556208053692, 21458e-9 / 2384e-9, -69618e-9 / 2384e-9],
+ z = [[2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.40084909404969e-13, 6.423305872147839e-13, 2.382191739347918e-13, 5.456116108943412e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758252e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558783e-12, 8.371015190102974e-13, 2.599706096327376e-13, -5.456116108943412e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758252e-12, -2.858043359288076e-12, -2.156177623817898e-12, -1.475637723558783e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347923e-13, -6.423305872147843e-13, -9.400849094049696e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049694e-13, -6.42330587214784e-13, -2.382191739347918e-13], [2.382191739347913e-13, 6.423305872147834e-13, 9.400849094049688e-13, 1.122435026096556e-12, 1.183840321267481e-12, 1.122435026096556e-12, 9.400849094049688e-13, 6.423305872147841e-13, 2.382191739347918e-13, 5.456116108943413e-12, 4.878985199565852e-12, 4.240448995017367e-12, 3.559909094758253e-12, 2.858043359288075e-12, 2.156177623817898e-12, 1.475637723558782e-12, 8.371015190102975e-13, 2.599706096327376e-13, -5.461314069809755e-12, -4.921085770524055e-12, -4.343405037091838e-12, -3.732668368707687e-12, -3.093523840190885e-12, -2.430835727329465e-12, -1.734679010007751e-12, -9.74825365660928e-13, -2.797435120168326e-13, 0, 0, 0, 0, 0, 0, -2.283748241799531e-13, -4.037858874020686e-13, -2.146547464825323e-13], [.1316524975873958, .414213562373095, .7673269879789602, 1.091308501069271, 1.303225372841206, 1.56968557711749, 1.920982126971166, 2.414213562373094, 3.171594802363212, 4.510708503662055, 7.595754112725146, 22.90376554843115, .984807753012208, .6427876096865394, .3420201433256688, .9396926207859084, -.1736481776669303, -.7660444431189779, .8660254037844387, .5, -.5144957554275265, -.4717319685649723, -.3133774542039019, -.1819131996109812, -.09457419252642064, -.04096558288530405, -.01419856857247115, -.003699974673760037, .8574929257125442, .8817419973177052, .9496286491027329, .9833145924917901, .9955178160675857, .9991605581781475, .999899195244447, .9999931550702802], [0, 0, 0, 0, 0, 0, 2.283748241799531e-13, 4.037858874020686e-13, 2.146547464825323e-13, 5.461314069809755e-12, 4.921085770524055e-12, 4.343405037091838e-12, 3.732668368707687e-12, 3.093523840190885e-12, 2.430835727329466e-12, 1.734679010007751e-12, 9.74825365660928e-13, 2.797435120168326e-13, -5.456116108943413e-12, -4.878985199565852e-12, -4.240448995017367e-12, -3.559909094758253e-12, -2.858043359288075e-12, -2.156177623817898e-12, -1.475637723558782e-12, -8.371015190102975e-13, -2.599706096327376e-13, -2.382191739347913e-13, -6.423305872147834e-13, -9.400849094049688e-13, -1.122435026096556e-12, -1.183840321267481e-12, -1.122435026096556e-12, -9.400849094049688e-13, -6.423305872147841e-13, -2.382191739347918e-13]],
+ Z = z[Pe.SHORT_TYPE],
+ K = z[Pe.SHORT_TYPE],
+ G = z[Pe.SHORT_TYPE],
+ U = z[Pe.SHORT_TYPE],
+ Q = [0, 1, 16, 17, 8, 9, 24, 25, 4, 5, 20, 21, 12, 13, 28, 29, 2, 3, 18, 19, 10, 11, 26, 27, 6, 7, 22, 23, 14, 15, 30, 31];
+ function W(e, t, a) {
+ for (var s, n, r, i = 10, o = t + 238 - 14 - 286, _ = -15; _ < 0; _++) {
var l, f, c;
- l = u[i + -10], f = e[o + -224] * l, c = e[t + 224] * l, l = u[i + -9], f += e[o + -160] * l, c += e[t + 160] * l, l = u[i + -8], f += e[o + -96] * l, c += e[t + 96] * l, l = u[i + -7], f += e[o + -32] * l, c += e[t + 32] * l, l = u[i + -6], f += e[o + 32] * l, c += e[t + -32] * l, l = u[i + -5], f += e[o + 96] * l, c += e[t + -96] * l, l = u[i + -4], f += e[o + 160] * l, c += e[t + -160] * l, l = u[i + -3], f += e[o + 224] * l, c += e[t + -224] * l, l = u[i + -2], f += e[t + -256] * l, c -= e[o + 256] * l, l = u[i + -1], f += e[t + -192] * l, c -= e[o + 192] * l, l = u[i + 0], f += e[t + -128] * l, c -= e[o + 128] * l, l = u[i + 1], f += e[t + -64] * l, c -= e[o + 64] * l, l = u[i + 2], f += e[t + 0] * l, c -= e[o + 0] * l, l = u[i + 3], f += e[t + 64] * l, c -= e[o + -64] * l, l = u[i + 4], f += e[t + 128] * l, c -= e[o + -128] * l, l = u[i + 5], f += e[t + 192] * l, c -= e[o + -192] * l, f *= u[i + 6], l = c - f, a[30 + 2 * _] = c + f, a[31 + 2 * _] = u[i + 7] * l, i += 18, t--, o++;
+ l = h[i + -10], f = e[o + -224] * l, c = e[t + 224] * l, l = h[i + -9], f += e[o + -160] * l, c += e[t + 160] * l, l = h[i + -8], f += e[o + -96] * l, c += e[t + 96] * l, l = h[i + -7], f += e[o + -32] * l, c += e[t + 32] * l, l = h[i + -6], f += e[o + 32] * l, c += e[t + -32] * l, l = h[i + -5], f += e[o + 96] * l, c += e[t + -96] * l, l = h[i + -4], f += e[o + 160] * l, c += e[t + -160] * l, l = h[i + -3], f += e[o + 224] * l, c += e[t + -224] * l, l = h[i + -2], f += e[t + -256] * l, c -= e[o + 256] * l, l = h[i + -1], f += e[t + -192] * l, c -= e[o + 192] * l, l = h[i + 0], f += e[t + -128] * l, c -= e[o + 128] * l, l = h[i + 1], f += e[t + -64] * l, c -= e[o + 64] * l, l = h[i + 2], f += e[t + 0] * l, c -= e[o + 0] * l, l = h[i + 3], f += e[t + 64] * l, c -= e[o + -64] * l, l = h[i + 4], f += e[t + 128] * l, c -= e[o + -128] * l, l = h[i + 5], f += e[t + 192] * l, l = (c -= e[o + -192] * l) - (f *= h[i + 6]), a[30 + 2 * _] = c + f, a[31 + 2 * _] = h[i + 7] * l, i += 18, t--, o++;
}
- c = e[t + -16] * u[i + -10], f = e[t + -32] * u[i + -2], c += (e[t + -48] - e[t + 16]) * u[i + -9], f += e[t + -96] * u[i + -1], c += (e[t + -80] + e[t + 48]) * u[i + -8], f += e[t + -160] * u[i + 0], c += (e[t + -112] - e[t + 80]) * u[i + -7], f += e[t + -224] * u[i + 1], c += (e[t + -144] + e[t + 112]) * u[i + -6], f -= e[t + 32] * u[i + 2], c += (e[t + -176] - e[t + 144]) * u[i + -5], f -= e[t + 96] * u[i + 3], c += (e[t + -208] + e[t + 176]) * u[i + -4], f -= e[t + 160] * u[i + 4], c += (e[t + -240] - e[t + 208]) * u[i + -3], f -= e[t + 224], n = f - c, s = f + c, c = a[14], f = a[15] - c, a[31] = s + c, a[30] = n + f, a[15] = n - f, a[14] = s - c, r = a[28] - a[0], a[0] += a[28], a[28] = r * u[i + -36 + 7], r = a[29] - a[1], a[1] += a[29], a[29] = r * u[i + -36 + 7], r = a[26] - a[2], a[2] += a[26], a[26] = r * u[i + -72 + 7], r = a[27] - a[3], a[3] += a[27], a[27] = r * u[i + -72 + 7], r = a[24] - a[4], a[4] += a[24], a[24] = r * u[i + -108 + 7], r = a[25] - a[5], a[5] += a[25], a[25] = r * u[i + -108 + 7], r = a[22] - a[6], a[6] += a[22], a[22] = r * V.SQRT2, r = a[23] - a[7], a[7] += a[23], a[23] = r * V.SQRT2 - a[7], a[7] -= a[6], a[22] -= a[7], a[23] -= a[22], r = a[6], a[6] = a[31] - r, a[31] = a[31] + r, r = a[7], a[7] = a[30] - r, a[30] = a[30] + r, r = a[22], a[22] = a[15] - r, a[15] = a[15] + r, r = a[23], a[23] = a[14] - r, a[14] = a[14] + r, r = a[20] - a[8], a[8] += a[20], a[20] = r * u[i + -180 + 7], r = a[21] - a[9], a[9] += a[21], a[21] = r * u[i + -180 + 7], r = a[18] - a[10], a[10] += a[18], a[18] = r * u[i + -216 + 7], r = a[19] - a[11], a[11] += a[19], a[19] = r * u[i + -216 + 7], r = a[16] - a[12], a[12] += a[16], a[16] = r * u[i + -252 + 7], r = a[17] - a[13], a[13] += a[17], a[17] = r * u[i + -252 + 7], r = -a[20] + a[24], a[20] += a[24], a[24] = r * u[i + -216 + 7], r = -a[21] + a[25], a[21] += a[25], a[25] = r * u[i + -216 + 7], r = a[4] - a[8], a[4] += a[8], a[8] = r * u[i + -216 + 7], r = a[5] - a[9], a[5] += a[9], a[9] = r * u[i + -216 + 7], r = a[0] - a[12], a[0] += a[12], a[12] = r * u[i + -72 + 7], r = a[1] - a[13], a[1] += a[13], a[13] = r * u[i + -72 + 7], r = a[16] - a[28], a[16] += a[28], a[28] = r * u[i + -72 + 7], r = -a[17] + a[29], a[17] += a[29], a[29] = r * u[i + -72 + 7], r = V.SQRT2 * (a[2] - a[10]), a[2] += a[10], a[10] = r, r = V.SQRT2 * (a[3] - a[11]), a[3] += a[11], a[11] = r, r = V.SQRT2 * (-a[18] + a[26]), a[18] += a[26], a[26] = r - a[18], r = V.SQRT2 * (-a[19] + a[27]), a[19] += a[27], a[27] = r - a[19], r = a[2], a[19] -= a[3], a[3] -= r, a[2] = a[31] - r, a[31] += r, r = a[3], a[11] -= a[19], a[18] -= r, a[3] = a[30] - r, a[30] += r, r = a[18], a[27] -= a[11], a[19] -= r, a[18] = a[15] - r, a[15] += r, r = a[19], a[10] -= r, a[19] = a[14] - r, a[14] += r, r = a[10], a[11] -= r, a[10] = a[23] - r, a[23] += r, r = a[11], a[26] -= r, a[11] = a[22] - r, a[22] += r, r = a[26], a[27] -= r, a[26] = a[7] - r, a[7] += r, r = a[27], a[27] = a[6] - r, a[6] += r, r = V.SQRT2 * (a[0] - a[4]), a[0] += a[4], a[4] = r, r = V.SQRT2 * (a[1] - a[5]), a[1] += a[5], a[5] = r, r = V.SQRT2 * (a[16] - a[20]), a[16] += a[20], a[20] = r, r = V.SQRT2 * (a[17] - a[21]), a[17] += a[21], a[21] = r, r = -V.SQRT2 * (a[8] - a[12]), a[8] += a[12], a[12] = r - a[8], r = -V.SQRT2 * (a[9] - a[13]), a[9] += a[13], a[13] = r - a[9], r = -V.SQRT2 * (a[25] - a[29]), a[25] += a[29], a[29] = r - a[25], r = -V.SQRT2 * (a[24] + a[28]), a[24] -= a[28], a[28] = r - a[24], r = a[24] - a[16], a[24] = r, r = a[20] - r, a[20] = r, r = a[28] - r, a[28] = r, r = a[25] - a[17], a[25] = r, r = a[21] - r, a[21] = r, r = a[29] - r, a[29] = r, r = a[17] - a[1], a[17] = r, r = a[9] - r, a[9] = r, r = a[25] - r, a[25] = r, r = a[5] - r, a[5] = r, r = a[21] - r, a[21] = r, r = a[13] - r, a[13] = r, r = a[29] - r, a[29] = r, r = a[1] - a[0], a[1] = r, r = a[16] - r, a[16] = r, r = a[17] - r, a[17] = r, r = a[8] - r, a[8] = r, r = a[9] - r, a[9] = r, r = a[24] - r, a[24] = r, r = a[25] - r, a[25] = r, r = a[4] - r, a[4] = r, r = a[5] - r, a[5] = r, r = a[20] - r, a[20] = r, r = a[21] - r, a[21] = r, r = a[12] - r, a[12] = r, r = a[13] - r, a[13] = r, r = a[28] - r, a[28] = r, r = a[29] - r, a[29] = r, r = a[0], a[0] += a[31], a[31] -= r, r = a[1], a[1] += a[30], a[30] -= r, r = a[16], a[16] += a[15], a[15] -= r, r = a[17], a[17] += a[14], a[14] -= r, r = a[8], a[8] += a[23], a[23] -= r, r = a[9], a[9] += a[22], a[22] -= r, r = a[24], a[24] += a[7], a[7] -= r, r = a[25], a[25] += a[6], a[6] -= r, r = a[4], a[4] += a[27], a[27] -= r, r = a[5], a[5] += a[26], a[26] -= r, r = a[20], a[20] += a[11], a[11] -= r, r = a[21], a[21] += a[10], a[10] -= r, r = a[12], a[12] += a[19], a[19] -= r, r = a[13], a[13] += a[18], a[18] -= r, r = a[28], a[28] += a[3], a[3] -= r, r = a[29], a[29] += a[2], a[2] -= r;
+ c = e[t + -16] * h[i + -10], f = e[t + -32] * h[i + -2], c += (e[t + -48] - e[t + 16]) * h[i + -9], f += e[t + -96] * h[i + -1], c += (e[t + -80] + e[t + 48]) * h[i + -8], f += e[t + -160] * h[i + 0], c += (e[t + -112] - e[t + 80]) * h[i + -7], f += e[t + -224] * h[i + 1], c += (e[t + -144] + e[t + 112]) * h[i + -6], f -= e[t + 32] * h[i + 2], c += (e[t + -176] - e[t + 144]) * h[i + -5], f -= e[t + 96] * h[i + 3], c += (e[t + -208] + e[t + 176]) * h[i + -4], f -= e[t + 160] * h[i + 4], c += (e[t + -240] - e[t + 208]) * h[i + -3], s = (f -= e[t + 224]) - c, n = f + c, c = a[14], f = a[15] - c, a[31] = n + c, a[30] = s + f, a[15] = s - f, a[14] = n - c, r = a[28] - a[0], a[0] += a[28], a[28] = r * h[i + -36 + 7], r = a[29] - a[1], a[1] += a[29], a[29] = r * h[i + -36 + 7], r = a[26] - a[2], a[2] += a[26], a[26] = r * h[i + -72 + 7], r = a[27] - a[3], a[3] += a[27], a[27] = r * h[i + -72 + 7], r = a[24] - a[4], a[4] += a[24], a[24] = r * h[i + -108 + 7], r = a[25] - a[5], a[5] += a[25], a[25] = r * h[i + -108 + 7], r = a[22] - a[6], a[6] += a[22], a[22] = r * ee.SQRT2, r = a[23] - a[7], a[7] += a[23], a[23] = r * ee.SQRT2 - a[7], a[7] -= a[6], a[22] -= a[7], a[23] -= a[22], r = a[6], a[6] = a[31] - r, a[31] = a[31] + r, r = a[7], a[7] = a[30] - r, a[30] = a[30] + r, r = a[22], a[22] = a[15] - r, a[15] = a[15] + r, r = a[23], a[23] = a[14] - r, a[14] = a[14] + r, r = a[20] - a[8], a[8] += a[20], a[20] = r * h[i + -180 + 7], r = a[21] - a[9], a[9] += a[21], a[21] = r * h[i + -180 + 7], r = a[18] - a[10], a[10] += a[18], a[18] = r * h[i + -216 + 7], r = a[19] - a[11], a[11] += a[19], a[19] = r * h[i + -216 + 7], r = a[16] - a[12], a[12] += a[16], a[16] = r * h[i + -252 + 7], r = a[17] - a[13], a[13] += a[17], a[17] = r * h[i + -252 + 7], r = -a[20] + a[24], a[20] += a[24], a[24] = r * h[i + -216 + 7], r = -a[21] + a[25], a[21] += a[25], a[25] = r * h[i + -216 + 7], r = a[4] - a[8], a[4] += a[8], a[8] = r * h[i + -216 + 7], r = a[5] - a[9], a[5] += a[9], a[9] = r * h[i + -216 + 7], r = a[0] - a[12], a[0] += a[12], a[12] = r * h[i + -72 + 7], r = a[1] - a[13], a[1] += a[13], a[13] = r * h[i + -72 + 7], r = a[16] - a[28], a[16] += a[28], a[28] = r * h[i + -72 + 7], r = -a[17] + a[29], a[17] += a[29], a[29] = r * h[i + -72 + 7], r = ee.SQRT2 * (a[2] - a[10]), a[2] += a[10], a[10] = r, r = ee.SQRT2 * (a[3] - a[11]), a[3] += a[11], a[11] = r, r = ee.SQRT2 * (-a[18] + a[26]), a[18] += a[26], a[26] = r - a[18], r = ee.SQRT2 * (-a[19] + a[27]), a[19] += a[27], a[27] = r - a[19], r = a[2], a[19] -= a[3], a[3] -= r, a[2] = a[31] - r, a[31] += r, r = a[3], a[11] -= a[19], a[18] -= r, a[3] = a[30] - r, a[30] += r, r = a[18], a[27] -= a[11], a[19] -= r, a[18] = a[15] - r, a[15] += r, r = a[19], a[10] -= r, a[19] = a[14] - r, a[14] += r, r = a[10], a[11] -= r, a[10] = a[23] - r, a[23] += r, r = a[11], a[26] -= r, a[11] = a[22] - r, a[22] += r, r = a[26], a[27] -= r, a[26] = a[7] - r, a[7] += r, r = a[27], a[27] = a[6] - r, a[6] += r, r = ee.SQRT2 * (a[0] - a[4]), a[0] += a[4], a[4] = r, r = ee.SQRT2 * (a[1] - a[5]), a[1] += a[5], a[5] = r, r = ee.SQRT2 * (a[16] - a[20]), a[16] += a[20], a[20] = r, r = ee.SQRT2 * (a[17] - a[21]), a[17] += a[21], a[21] = r, r = -ee.SQRT2 * (a[8] - a[12]), a[8] += a[12], a[12] = r - a[8], r = -ee.SQRT2 * (a[9] - a[13]), a[9] += a[13], a[13] = r - a[9], r = -ee.SQRT2 * (a[25] - a[29]), a[25] += a[29], a[29] = r - a[25], r = -ee.SQRT2 * (a[24] + a[28]), a[24] -= a[28], a[28] = r - a[24], r = a[24] - a[16], a[24] = r, r = a[20] - r, a[20] = r, r = a[28] - r, a[28] = r, r = a[25] - a[17], a[25] = r, r = a[21] - r, a[21] = r, r = a[29] - r, a[29] = r, r = a[17] - a[1], a[17] = r, r = a[9] - r, a[9] = r, r = a[25] - r, a[25] = r, r = a[5] - r, a[5] = r, r = a[21] - r, a[21] = r, r = a[13] - r, a[13] = r, r = a[29] - r, a[29] = r, r = a[1] - a[0], a[1] = r, r = a[16] - r, a[16] = r, r = a[17] - r, a[17] = r, r = a[8] - r, a[8] = r, r = a[9] - r, a[9] = r, r = a[24] - r, a[24] = r, r = a[25] - r, a[25] = r, r = a[4] - r, a[4] = r, r = a[5] - r, a[5] = r, r = a[20] - r, a[20] = r, r = a[21] - r, a[21] = r, r = a[12] - r, a[12] = r, r = a[13] - r, a[13] = r, r = a[28] - r, a[28] = r, r = a[29] - r, a[29] = r, r = a[0], a[0] += a[31], a[31] -= r, r = a[1], a[1] += a[30], a[30] -= r, r = a[16], a[16] += a[15], a[15] -= r, r = a[17], a[17] += a[14], a[14] -= r, r = a[8], a[8] += a[23], a[23] -= r, r = a[9], a[9] += a[22], a[22] -= r, r = a[24], a[24] += a[7], a[7] -= r, r = a[25], a[25] += a[6], a[6] -= r, r = a[4], a[4] += a[27], a[27] -= r, r = a[5], a[5] += a[26], a[26] -= r, r = a[20], a[20] += a[11], a[11] -= r, r = a[21], a[21] += a[10], a[10] -= r, r = a[12], a[12] += a[19], a[19] -= r, r = a[13], a[13] += a[18], a[18] -= r, r = a[28], a[28] += a[3], a[3] -= r, r = a[29], a[29] += a[2], a[2] -= r;
}
- function E(e, t) {
+ function J(e, t) {
for (var a = 0; a < 3; a++) {
- var n, s, r, i, o, _;
- i = e[t + 6] * A[Ae.SHORT_TYPE][0] - e[t + 15], n = e[t + 0] * A[Ae.SHORT_TYPE][2] - e[t + 9], s = i + n, r = i - n, i = e[t + 15] * A[Ae.SHORT_TYPE][0] + e[t + 6], n = e[t + 9] * A[Ae.SHORT_TYPE][2] + e[t + 0], o = i + n, _ = -i + n, n = 2.069978111953089e-11 * (e[t + 3] * A[Ae.SHORT_TYPE][1] - e[t + 12]), i = 2.069978111953089e-11 * (e[t + 12] * A[Ae.SHORT_TYPE][1] + e[t + 3]), e[t + 0] = 1.90752519173728e-11 * s + n, e[t + 15] = 1.90752519173728e-11 * -o + i, r = .8660254037844387 * r * 1.907525191737281e-11, o = .5 * o * 1.907525191737281e-11 + i, e[t + 3] = r - o, e[t + 6] = r + o, s = .5 * s * 1.907525191737281e-11 - n, _ = .8660254037844387 * _ * 1.907525191737281e-11, e[t + 9] = s + _, e[t + 12] = s - _, t++;
+ var s, n, r, i, o, _;
+ n = (i = e[t + 6] * z[Pe.SHORT_TYPE][0] - e[t + 15]) + (s = e[t + 0] * z[Pe.SHORT_TYPE][2] - e[t + 9]), r = i - s, o = (i = e[t + 15] * z[Pe.SHORT_TYPE][0] + e[t + 6]) + (s = e[t + 9] * z[Pe.SHORT_TYPE][2] + e[t + 0]), _ = -i + s, s = 2.069978111953089e-11 * (e[t + 3] * z[Pe.SHORT_TYPE][1] - e[t + 12]), i = 2.069978111953089e-11 * (e[t + 12] * z[Pe.SHORT_TYPE][1] + e[t + 3]), e[t + 0] = 1.90752519173728e-11 * n + s, e[t + 15] = 1.90752519173728e-11 * -o + i, r = .8660254037844387 * r * 1.907525191737281e-11, o = .5 * o * 1.907525191737281e-11 + i, e[t + 3] = r - o, e[t + 6] = r + o, n = .5 * n * 1.907525191737281e-11 - s, _ = .8660254037844387 * _ * 1.907525191737281e-11, e[t + 9] = n + _, e[t + 12] = n - _, t++;
}
}
- function C(e, t, a) {
- var n, s, r, i, o, _, l, f, c, u, h, b, p, m, v, d, g, w;
- r = a[17] - a[9], o = a[15] - a[11], _ = a[14] - a[12], l = a[0] + a[8], f = a[1] + a[7], c = a[2] + a[6], u = a[3] + a[5], e[t + 17] = l + c - u - (f - a[4]), s = (l + c - u) * S[19] + (f - a[4]), n = (r - o - _) * S[18], e[t + 5] = n + s, e[t + 6] = n - s, i = (a[16] - a[10]) * S[18], f = f * S[19] + a[4], n = r * S[12] + i + o * S[13] + _ * S[14], s = -l * S[16] + f - c * S[17] + u * S[15], e[t + 1] = n + s, e[t + 2] = n - s, n = r * S[13] - i - o * S[14] + _ * S[12], s = -l * S[17] + f - c * S[15] + u * S[16], e[t + 9] = n + s, e[t + 10] = n - s, n = r * S[14] - i + o * S[12] - _ * S[13], s = l * S[15] - f + c * S[16] - u * S[17], e[t + 13] = n + s, e[t + 14] = n - s, h = a[8] - a[0], p = a[6] - a[2], m = a[5] - a[3], v = a[17] + a[9], d = a[16] + a[10], g = a[15] + a[11], w = a[14] + a[12], e[t + 0] = v + g + w + (d + a[13]), n = (v + g + w) * S[19] - (d + a[13]), s = (h - p + m) * S[18], e[t + 11] = n + s, e[t + 12] = n - s, b = (a[7] - a[1]) * S[18], d = a[13] - d * S[19], n = v * S[15] - d + g * S[16] + w * S[17], s = h * S[14] + b + p * S[12] + m * S[13], e[t + 3] = n + s, e[t + 4] = n - s, n = -v * S[17] + d - g * S[15] - w * S[16], s = h * S[13] + b - p * S[14] - m * S[12], e[t + 7] = n + s, e[t + 8] = n - s, n = -v * S[16] + d - g * S[17] - w * S[15], s = h * S[12] - b + p * S[13] - m * S[14], e[t + 15] = n + s, e[t + 16] = n - s;
- }
this.mdct_sub48 = function (e, t, a) {
- for (var n = t, s = 286, r = 0; r < e.channels_out; r++) {
- for (var i = 0; i < e.mode_gr; i++) {
- for (var o, _ = e.l3_side.tt[i][r], l = _.xr, f = 0, c = e.sb_sample[r][1 - i], u = 0, h = 0; h < 9; h++) for (T(n, s, c[u]), T(n, s + 32, c[u + 1]), u += 2, s += 64, o = 1; o < 32; o += 2) c[u - 1][o] *= -1;
- for (o = 0; o < 32; o++, f += 18) {
- var b = _.block_type,
- p = e.sb_sample[r][i],
- m = e.sb_sample[r][1 - i];
- if (0 != _.mixed_block_flag && o < 2 && (b = 0), e.amp_filter[o] < 1e-12) we.fill(l, f + 0, f + 18, 0);else if (e.amp_filter[o] < 1 && me(), b == Ae.SHORT_TYPE) {
- for (var h = -3; h < 0; h++) {
- var v = A[Ae.SHORT_TYPE][h + 3];
- l[f + 3 * h + 9] = p[9 + h][B[o]] * v - p[8 - h][B[o]], l[f + 3 * h + 18] = p[14 - h][B[o]] * v + p[15 + h][B[o]], l[f + 3 * h + 10] = p[15 + h][B[o]] * v - p[14 - h][B[o]], l[f + 3 * h + 19] = m[2 - h][B[o]] * v + m[3 + h][B[o]], l[f + 3 * h + 11] = m[3 + h][B[o]] * v - m[2 - h][B[o]], l[f + 3 * h + 20] = m[8 - h][B[o]] * v + m[9 + h][B[o]];
+ for (var s, n, r, i, o, _, l, f, c, h, u, m, p, b, v, d, g, S, M, w, R, A = t, B = 286, k = 0; k < e.channels_out; k++) {
+ for (var y = 0; y < e.mode_gr; y++) {
+ for (var T, x = e.l3_side.tt[y][k], E = x.xr, P = 0, L = e.sb_sample[k][1 - y], I = 0, H = 0; H < 9; H++) for (W(A, B, L[I]), W(A, B + 32, L[I + 1]), I += 2, B += 64, T = 1; T < 32; T += 2) L[I - 1][T] *= -1;
+ for (T = 0; T < 32; T++, P += 18) {
+ var C = x.block_type,
+ V = e.sb_sample[k][y],
+ O = e.sb_sample[k][1 - y];
+ if (0 != x.mixed_block_flag && T < 2 && (C = 0), e.amp_filter[T] < 1e-12) ye.fill(E, P + 0, P + 18, 0);else {
+ if (e.amp_filter[T] < 1) for (H = 0; H < 18; H++) O[H][Q[T]] *= e.amp_filter[T];
+ if (C == Pe.SHORT_TYPE) {
+ for (H = -3; H < 0; H++) {
+ var N = z[Pe.SHORT_TYPE][H + 3];
+ E[P + 3 * H + 9] = V[9 + H][Q[T]] * N - V[8 - H][Q[T]], E[P + 3 * H + 18] = V[14 - H][Q[T]] * N + V[15 + H][Q[T]], E[P + 3 * H + 10] = V[15 + H][Q[T]] * N - V[14 - H][Q[T]], E[P + 3 * H + 19] = O[2 - H][Q[T]] * N + O[3 + H][Q[T]], E[P + 3 * H + 11] = O[3 + H][Q[T]] * N - O[2 - H][Q[T]], E[P + 3 * H + 20] = O[8 - H][Q[T]] * N + O[9 + H][Q[T]];
+ }
+ J(E, P);
+ } else {
+ var D = Be(18);
+ for (H = -9; H < 0; H++) {
+ var Y, X;
+ Y = z[C][H + 27] * O[H + 9][Q[T]] + z[C][H + 36] * O[8 - H][Q[T]], X = z[C][H + 9] * V[H + 9][Q[T]] - z[C][H + 18] * V[8 - H][Q[T]], D[H + 9] = Y - X * Z[3 + H + 9], D[H + 18] = Y * Z[3 + H + 9] + X;
+ }
+ s = E, n = P, R = w = M = S = g = d = v = b = p = m = u = h = c = f = l = _ = o = i = void 0, _ = (r = D)[17] - r[9], f = r[15] - r[11], c = r[14] - r[12], h = r[0] + r[8], u = r[1] + r[7], m = r[2] + r[6], p = r[3] + r[5], s[n + 17] = h + m - p - (u - r[4]), o = (h + m - p) * K[19] + (u - r[4]), i = (_ - f - c) * K[18], s[n + 5] = i + o, s[n + 6] = i - o, l = (r[16] - r[10]) * K[18], u = u * K[19] + r[4], i = _ * K[12] + l + f * K[13] + c * K[14], o = -h * K[16] + u - m * K[17] + p * K[15], s[n + 1] = i + o, s[n + 2] = i - o, i = _ * K[13] - l - f * K[14] + c * K[12], o = -h * K[17] + u - m * K[15] + p * K[16], s[n + 9] = i + o, s[n + 10] = i - o, i = _ * K[14] - l + f * K[12] - c * K[13], o = h * K[15] - u + m * K[16] - p * K[17], s[n + 13] = i + o, s[n + 14] = i - o, b = r[8] - r[0], d = r[6] - r[2], g = r[5] - r[3], S = r[17] + r[9], M = r[16] + r[10], w = r[15] + r[11], R = r[14] + r[12], s[n + 0] = S + w + R + (M + r[13]), i = (S + w + R) * K[19] - (M + r[13]), o = (b - d + g) * K[18], s[n + 11] = i + o, s[n + 12] = i - o, v = (r[7] - r[1]) * K[18], M = r[13] - M * K[19], i = S * K[15] - M + w * K[16] + R * K[17], o = b * K[14] + v + d * K[12] + g * K[13], s[n + 3] = i + o, s[n + 4] = i - o, i = -S * K[17] + M - w * K[15] - R * K[16], o = b * K[13] + v - d * K[14] - g * K[12], s[n + 7] = i + o, s[n + 8] = i - o, i = -S * K[16] + M - w * K[17] - R * K[15], o = b * K[12] - v + d * K[13] - g * K[14], s[n + 15] = i + o, s[n + 16] = i - o;
}
- E(l, f);
- } else {
- for (var d = de(18), h = -9; h < 0; h++) {
- var g, w;
- g = A[b][h + 27] * m[h + 9][B[o]] + A[b][h + 36] * m[8 - h][B[o]], w = A[b][h + 9] * p[h + 9][B[o]] - A[b][h + 18] * p[8 - h][B[o]], d[h + 9] = g - w * k[3 + h + 9], d[h + 18] = g * k[3 + h + 9] + w;
- }
- C(l, f, d);
}
- if (b != Ae.SHORT_TYPE && 0 != o) for (var h = 7; 0 <= h; --h) {
- var S, M;
- S = l[f + h] * R[20 + h] + l[f + -1 - h] * x[28 + h], M = l[f + h] * x[28 + h] - l[f + -1 - h] * R[20 + h], l[f + -1 - h] = S, l[f + h] = M;
+ if (C != Pe.SHORT_TYPE && 0 != T) for (H = 7; 0 <= H; --H) {
+ var q, F;
+ q = E[P + H] * G[20 + H] + E[P + -1 - H] * U[28 + H], F = E[P + H] * U[28 + H] - E[P + -1 - H] * G[20 + H], E[P + -1 - H] = q, E[P + H] = F;
}
}
}
- if (n = a, s = 286, 1 == e.mode_gr) for (var y = 0; y < 18; y++) I.arraycopy(e.sb_sample[r][1][y], 0, e.sb_sample[r][0][y], 0, 32);
+ if (A = a, B = 286, 1 == e.mode_gr) for (var j = 0; j < 18; j++) $.arraycopy(e.sb_sample[k][1][j], 0, e.sb_sample[k][0][j], 0, 32);
}
};
}();
- this.lame_encode_mp3_frame = function (e, t, a, n, s, r) {
+ this.lame_encode_mp3_frame = function (e, t, a, s, n, r) {
var i,
- o = E([2, 2]);
- o[0][0] = new L(), o[0][1] = new L(), o[1][0] = new L(), o[1][1] = new L();
+ o = O([2, 2]);
+ o[0][0] = new N(), o[0][1] = new N(), o[1][0] = new N(), o[1][1] = new N();
var _,
- l = E([2, 2]);
- l[0][0] = new L(), l[0][1] = new L(), l[1][0] = new L(), l[1][1] = new L();
+ l = O([2, 2]);
+ l[0][0] = new N(), l[0][1] = new N(), l[1][0] = new N(), l[1][1] = new N();
var f,
c,
- u,
- h = [null, null],
- b = e.internal_flags,
- p = ge([2, 4]),
- m = [[0, 0], [0, 0]],
- v = [[0, 0], [0, 0]];
- if (h[0] = t, h[1] = a, 0 == b.lame_encode_frame_init && function (e, t) {
+ h,
+ u = [null, null],
+ m = e.internal_flags,
+ p = ke([2, 4]),
+ b = [.5, .5],
+ v = [[0, 0], [0, 0]],
+ d = [[0, 0], [0, 0]];
+ if (u[0] = t, u[1] = a, 0 == m.lame_encode_frame_init && function (e, t) {
var a,
- n,
- s = e.internal_flags;
- if (0 == s.lame_encode_frame_init) {
+ s,
+ n = e.internal_flags;
+ if (0 == n.lame_encode_frame_init) {
var r,
i,
- o = de(2014),
- _ = de(2014);
- for (s.lame_encode_frame_init = 1, i = r = 0; r < 286 + 576 * (1 + s.mode_gr); ++r) r < 576 * s.mode_gr ? (o[r] = 0, 2 == s.channels_out && (_[r] = 0)) : (o[r] = t[0][i], 2 == s.channels_out && (_[r] = t[1][i]), ++i);
- for (n = 0; n < s.mode_gr; n++) for (a = 0; a < s.channels_out; a++) s.l3_side.tt[n][a].block_type = Ae.SHORT_TYPE;
- T.mdct_sub48(s, o, _);
+ o = Be(2014),
+ _ = Be(2014);
+ for (n.lame_encode_frame_init = 1, i = r = 0; r < 286 + 576 * (1 + n.mode_gr); ++r) r < 576 * n.mode_gr ? (o[r] = 0, 2 == n.channels_out && (_[r] = 0)) : (o[r] = t[0][i], 2 == n.channels_out && (_[r] = t[1][i]), ++i);
+ for (s = 0; s < n.mode_gr; s++) for (a = 0; a < n.channels_out; a++) n.l3_side.tt[s][a].block_type = Pe.SHORT_TYPE;
+ V.mdct_sub48(n, o, _);
}
- }(e, h), b.padding = 0, (b.slot_lag -= b.frac_SpF) < 0 && (b.slot_lag += e.out_samplerate, b.padding = 1), 0 != b.psymodel) {
- var d,
- g = [null, null],
- w = 0,
- S = ve(2);
- for (u = 0; u < b.mode_gr; u++) {
- for (c = 0; c < b.channels_out; c++) g[c] = h[c], w = 576 + 576 * u - Ae.FFTOFFSET;
- if (e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? me() : d = x.L3psycho_anal_ns(e, g, w, u, o, l, m[u], v[u], p[u], S), 0 != d) return -4;
- for (e.mode == ye.JOINT_STEREO && me(), c = 0; c < b.channels_out; c++) {
- var M = b.l3_side.tt[u][c];
- M.block_type = S[c], M.mixed_block_flag = 0;
+ }(e, u), m.padding = 0, (m.slot_lag -= m.frac_SpF) < 0 && (m.slot_lag += e.out_samplerate, m.padding = 1), 0 != m.psymodel) {
+ var g = [null, null],
+ S = 0,
+ M = Ae(2);
+ for (h = 0; h < m.mode_gr; h++) {
+ for (c = 0; c < m.channels_out; c++) g[c] = u[c], S = 576 + 576 * h - Pe.FFTOFFSET;
+ if (0 != (e.VBR == xe.vbr_mtrh || e.VBR == xe.vbr_mt ? I.L3psycho_anal_vbr(e, g, S, h, o, l, v[h], d[h], p[h], M) : I.L3psycho_anal_ns(e, g, S, h, o, l, v[h], d[h], p[h], M))) return -4;
+ for (e.mode == Ee.JOINT_STEREO && (b[h] = p[h][2] + p[h][3], 0 < b[h] && (b[h] = p[h][3] / b[h])), c = 0; c < m.channels_out; c++) {
+ var w = m.l3_side.tt[h][c];
+ w.block_type = M[c], w.mixed_block_flag = 0;
}
}
- } else me();
+ } else for (h = 0; h < m.mode_gr; h++) for (c = 0; c < m.channels_out; c++) m.l3_side.tt[h][c].block_type = Pe.NORM_TYPE, m.l3_side.tt[h][c].mixed_block_flag = 0, d[h][c] = v[h][c] = 700;
if (function (e) {
var t, a;
- if (0 == e.ATH.useAdjust) return e.ATH.adjust = 1;
- if (a = e.loudness_sq[0][0], t = e.loudness_sq[1][0], 2 == e.channels_out ? me() : (a += a, t += t), 2 == e.mode_gr && (a = Math.max(a, t)), a *= .5, .03125 < (a *= e.ATH.aaSensitivityP)) 1 <= e.ATH.adjust ? e.ATH.adjust = 1 : e.ATH.adjust < e.ATH.adjustLimit && (e.ATH.adjust = e.ATH.adjustLimit), e.ATH.adjustLimit = 1;else {
- var n = 31.98 * a + 625e-6;
- e.ATH.adjust >= n ? (e.ATH.adjust *= .075 * n + .925, e.ATH.adjust < n && (e.ATH.adjust = n)) : e.ATH.adjustLimit >= n ? e.ATH.adjust = n : e.ATH.adjust < e.ATH.adjustLimit && (e.ATH.adjust = e.ATH.adjustLimit), e.ATH.adjustLimit = n;
+ if (0 != e.ATH.useAdjust) {
+ if (a = e.loudness_sq[0][0], t = e.loudness_sq[1][0], 2 == e.channels_out ? (a += e.loudness_sq[0][1], t += e.loudness_sq[1][1]) : (a += a, t += t), 2 == e.mode_gr && (a = Math.max(a, t)), a *= .5, .03125 < (a *= e.ATH.aaSensitivityP)) 1 <= e.ATH.adjust ? e.ATH.adjust = 1 : e.ATH.adjust < e.ATH.adjustLimit && (e.ATH.adjust = e.ATH.adjustLimit), e.ATH.adjustLimit = 1;else {
+ var s = 31.98 * a + 625e-6;
+ e.ATH.adjust >= s ? (e.ATH.adjust *= .075 * s + .925, e.ATH.adjust < s && (e.ATH.adjust = s)) : e.ATH.adjustLimit >= s ? e.ATH.adjust = s : e.ATH.adjust < e.ATH.adjustLimit && (e.ATH.adjust = e.ATH.adjustLimit), e.ATH.adjustLimit = s;
+ }
+ } else e.ATH.adjust = 1;
+ }(m), V.mdct_sub48(m, u[0], u[1]), m.mode_ext = Pe.MPG_MD_LR_LR, e.force_ms) m.mode_ext = Pe.MPG_MD_MS_LR;else if (e.mode == Ee.JOINT_STEREO) {
+ var R = 0,
+ A = 0;
+ for (h = 0; h < m.mode_gr; h++) for (c = 0; c < m.channels_out; c++) R += d[h][c], A += v[h][c];
+ if (R <= 1 * A) {
+ var B = m.l3_side.tt[0],
+ k = m.l3_side.tt[m.mode_gr - 1];
+ B[0].block_type == B[1].block_type && k[0].block_type == k[1].block_type && (m.mode_ext = Pe.MPG_MD_MS_LR);
}
- }(b), T.mdct_sub48(b, h[0], h[1]), b.mode_ext = Ae.MPG_MD_LR_LR, e.force_ms ? b.mode_ext = Ae.MPG_MD_MS_LR : e.mode == ye.JOINT_STEREO && me(), b.mode_ext == k ? (_ = l, f = v) : (_ = o, f = m), e.analysis && null != b.pinfo && me(), e.VBR == Me.vbr_off || e.VBR == Me.vbr_abr) {
- var y, A;
- for (y = 0; y < 18; y++) b.nsPsy.pefirbuf[y] = b.nsPsy.pefirbuf[y + 1];
- for (u = A = 0; u < b.mode_gr; u++) for (c = 0; c < b.channels_out; c++) A += f[u][c];
- for (b.nsPsy.pefirbuf[18] = A, A = b.nsPsy.pefirbuf[9], y = 0; y < 9; y++) A += (b.nsPsy.pefirbuf[y] + b.nsPsy.pefirbuf[18 - y]) * Ae.fircoef[y];
- for (A = 3350 * b.mode_gr * b.channels_out / A, u = 0; u < b.mode_gr; u++) for (c = 0; c < b.channels_out; c++) f[u][c] *= A;
}
- return b.iteration_loop.iteration_loop(e, f, [.5, .5], _), R.format_bitstream(e), i = R.copy_buffer(b, n, s, r, 1), e.bWriteVbrTag && B.addVbrFrame(e), e.analysis && null != b.pinfo && me(), function (e) {
- var t, a;
- for (e.bitrate_stereoMode_Hist[e.bitrate_index][4]++, e.bitrate_stereoMode_Hist[15][4]++, 2 == e.channels_out && me(), t = 0; t < e.mode_gr; ++t) for (a = 0; a < e.channels_out; ++a) {
- var n = 0 | e.l3_side.tt[t][a].block_type;
- 0 != e.l3_side.tt[t][a].mixed_block_flag && (n = 4), e.bitrate_blockType_Hist[e.bitrate_index][n]++, e.bitrate_blockType_Hist[e.bitrate_index][5]++, e.bitrate_blockType_Hist[15][n]++, e.bitrate_blockType_Hist[15][5]++;
+ if (m.mode_ext == P ? (_ = l, f = d) : (_ = o, f = v), e.analysis && null != m.pinfo) for (h = 0; h < m.mode_gr; h++) for (c = 0; c < m.channels_out; c++) m.pinfo.ms_ratio[h] = m.ms_ratio[h], m.pinfo.ms_ener_ratio[h] = b[h], m.pinfo.blocktype[h][c] = m.l3_side.tt[h][c].block_type, m.pinfo.pe[h][c] = f[h][c], $.arraycopy(m.l3_side.tt[h][c].xr, 0, m.pinfo.xr[h][c], 0, 576), m.mode_ext == P && (m.pinfo.ers[h][c] = m.pinfo.ers[h][c + 2], $.arraycopy(m.pinfo.energy[h][c + 2], 0, m.pinfo.energy[h][c], 0, m.pinfo.energy[h][c].length));
+ if (e.VBR == xe.vbr_off || e.VBR == xe.vbr_abr) {
+ var y, T;
+ for (y = 0; y < 18; y++) m.nsPsy.pefirbuf[y] = m.nsPsy.pefirbuf[y + 1];
+ for (h = T = 0; h < m.mode_gr; h++) for (c = 0; c < m.channels_out; c++) T += f[h][c];
+ for (m.nsPsy.pefirbuf[18] = T, T = m.nsPsy.pefirbuf[9], y = 0; y < 9; y++) T += (m.nsPsy.pefirbuf[y] + m.nsPsy.pefirbuf[18 - y]) * Pe.fircoef[y];
+ for (T = 3350 * m.mode_gr * m.channels_out / T, h = 0; h < m.mode_gr; h++) for (c = 0; c < m.channels_out; c++) f[h][c] *= T;
+ }
+ if (m.iteration_loop.iteration_loop(e, f, b, _), L.format_bitstream(e), i = L.copy_buffer(m, s, n, r, 1), e.bWriteVbrTag && H.addVbrFrame(e), e.analysis && null != m.pinfo) {
+ for (c = 0; c < m.channels_out; c++) {
+ var x;
+ for (x = 0; x < E; x++) m.pinfo.pcmdata[c][x] = m.pinfo.pcmdata[c][x + e.framesize];
+ for (x = E; x < 1600; x++) m.pinfo.pcmdata[c][x] = u[c][x - E];
}
- }(b), i;
+ C.set_frame_pinfo(e, _);
+ }
+ return function (e) {
+ var t, a;
+ for (e.bitrate_stereoMode_Hist[e.bitrate_index][4]++, e.bitrate_stereoMode_Hist[15][4]++, 2 == e.channels_out && (e.bitrate_stereoMode_Hist[e.bitrate_index][e.mode_ext]++, e.bitrate_stereoMode_Hist[15][e.mode_ext]++), t = 0; t < e.mode_gr; ++t) for (a = 0; a < e.channels_out; ++a) {
+ var s = 0 | e.l3_side.tt[t][a].block_type;
+ 0 != e.l3_side.tt[t][a].mixed_block_flag && (s = 4), e.bitrate_blockType_Hist[e.bitrate_index][s]++, e.bitrate_blockType_Hist[e.bitrate_index][5]++, e.bitrate_blockType_Hist[15][s]++, e.bitrate_blockType_Hist[15][5]++;
+ }
+ }(m), i;
};
}
function i() {
- this.l = de(Ae.SBMAX_l), this.s = ge([Ae.SBMAX_s, 3]);
- var n = this;
+ this.l = Be(Pe.SBMAX_l), this.s = ke([Pe.SBMAX_s, 3]);
+ var s = this;
this.assign = function (e) {
- I.arraycopy(e.l, 0, n.l, 0, Ae.SBMAX_l);
- for (var t = 0; t < Ae.SBMAX_s; t++) for (var a = 0; a < 3; a++) n.s[t][a] = e.s[t][a];
+ $.arraycopy(e.l, 0, s.l, 0, Pe.SBMAX_l);
+ for (var t = 0; t < Pe.SBMAX_s; t++) for (var a = 0; a < 3; a++) s.s[t][a] = e.s[t][a];
};
}
- function j() {
+ function Z() {
var e = 40;
function t() {
- this.write_timing = 0, this.ptr = 0, this.buf = S(e);
+ this.write_timing = 0, this.ptr = 0, this.buf = A(e);
}
- this.Class_ID = 0, this.lame_encode_frame_init = 0, this.iteration_init_init = 0, this.fill_buffer_resample_init = 0, this.mfbuf = ge([2, j.MFSIZE]), this.mode_gr = 0, this.channels_in = 0, this.channels_out = 0, this.resample_ratio = 0, this.mf_samples_to_encode = 0, this.mf_size = 0, this.VBR_min_bitrate = 0, this.VBR_max_bitrate = 0, this.bitrate_index = 0, this.samplerate_index = 0, this.mode_ext = 0, this.lowpass1 = 0, this.lowpass2 = 0, this.highpass1 = 0, this.highpass2 = 0, this.noise_shaping = 0, this.noise_shaping_amp = 0, this.substep_shaping = 0, this.psymodel = 0, this.noise_shaping_stop = 0, this.subblock_gain = 0, this.use_best_huffman = 0, this.full_outer_loop = 0, this.l3_side = new function () {
- this.tt = [[null, null], [null, null]], this.main_data_begin = 0, this.private_bits = 0, this.resvDrain_pre = 0, this.resvDrain_post = 0, this.scfsi = [ve(4), ve(4)];
- for (var e = 0; e < 2; e++) for (var t = 0; t < 2; t++) this.tt[e][t] = new B();
- }(), this.ms_ratio = de(2), this.padding = 0, this.frac_SpF = 0, this.slot_lag = 0, this.tag_spec = null, this.nMusicCRC = 0, this.OldValue = ve(2), this.CurrentStep = ve(2), this.masking_lower = 0, this.bv_scf = ve(576), this.pseudohalf = ve(F.SFBMAX), this.sfb21_extra = !1, this.inbuf_old = new Array(2), this.blackfilt = new Array(2 * j.BPC + 1), this.itime = n(2), this.sideinfo_len = 0, this.sb_sample = ge([2, 2, 18, Ae.SBLIMIT]), this.amp_filter = de(32), this.header = new Array(j.MAX_HEADER_BUF), this.h_ptr = 0, this.w_ptr = 0, this.ancillary_flag = 0, this.ResvSize = 0, this.ResvMax = 0, this.scalefac_band = new r(), this.minval_l = de(Ae.CBANDS), this.minval_s = de(Ae.CBANDS), this.nb_1 = ge([4, Ae.CBANDS]), this.nb_2 = ge([4, Ae.CBANDS]), this.nb_s1 = ge([4, Ae.CBANDS]), this.nb_s2 = ge([4, Ae.CBANDS]), this.s3_ss = null, this.s3_ll = null, this.decay = 0, this.thm = new Array(4), this.en = new Array(4), this.tot_ener = de(4), this.loudness_sq = ge([2, 2]), this.loudness_sq_save = de(2), this.mld_l = de(Ae.SBMAX_l), this.mld_s = de(Ae.SBMAX_s), this.bm_l = ve(Ae.SBMAX_l), this.bo_l = ve(Ae.SBMAX_l), this.bm_s = ve(Ae.SBMAX_s), this.bo_s = ve(Ae.SBMAX_s), this.npart_l = 0, this.npart_s = 0, this.s3ind = w([Ae.CBANDS, 2]), this.s3ind_s = w([Ae.CBANDS, 2]), this.numlines_s = ve(Ae.CBANDS), this.numlines_l = ve(Ae.CBANDS), this.rnumlines_l = de(Ae.CBANDS), this.mld_cb_l = de(Ae.CBANDS), this.mld_cb_s = de(Ae.CBANDS), this.numlines_s_num1 = 0, this.numlines_l_num1 = 0, this.pe = de(4), this.ms_ratio_s_old = 0, this.ms_ratio_l_old = 0, this.ms_ener_ratio_old = 0, this.blocktype_old = ve(2), this.nsPsy = new function () {
- this.last_en_subshort = ge([4, 9]), this.lastAttacks = ve(4), this.pefirbuf = de(19), this.longfact = de(Ae.SBMAX_l), this.shortfact = de(Ae.SBMAX_s), this.attackthre = 0, this.attackthre_s = 0;
+ this.Class_ID = 0, this.lame_encode_frame_init = 0, this.iteration_init_init = 0, this.fill_buffer_resample_init = 0, this.mfbuf = ke([2, Z.MFSIZE]), this.mode_gr = 0, this.channels_in = 0, this.channels_out = 0, this.resample_ratio = 0, this.mf_samples_to_encode = 0, this.mf_size = 0, this.VBR_min_bitrate = 0, this.VBR_max_bitrate = 0, this.bitrate_index = 0, this.samplerate_index = 0, this.mode_ext = 0, this.lowpass1 = 0, this.lowpass2 = 0, this.highpass1 = 0, this.highpass2 = 0, this.noise_shaping = 0, this.noise_shaping_amp = 0, this.substep_shaping = 0, this.psymodel = 0, this.noise_shaping_stop = 0, this.subblock_gain = 0, this.use_best_huffman = 0, this.full_outer_loop = 0, this.l3_side = new function () {
+ this.tt = [[null, null], [null, null]], this.main_data_begin = 0, this.private_bits = 0, this.resvDrain_pre = 0, this.resvDrain_post = 0, this.scfsi = [Ae(4), Ae(4)];
+ for (var e = 0; e < 2; e++) for (var t = 0; t < 2; t++) this.tt[e][t] = new T();
+ }(), this.ms_ratio = Be(2), this.padding = 0, this.frac_SpF = 0, this.slot_lag = 0, this.tag_spec = null, this.nMusicCRC = 0, this.OldValue = Ae(2), this.CurrentStep = Ae(2), this.masking_lower = 0, this.bv_scf = Ae(576), this.pseudohalf = Ae(z.SFBMAX), this.sfb21_extra = !1, this.inbuf_old = new Array(2), this.blackfilt = new Array(2 * Z.BPC + 1), this.itime = s(2), this.sideinfo_len = 0, this.sb_sample = ke([2, 2, 18, Pe.SBLIMIT]), this.amp_filter = Be(32), this.header = new Array(Z.MAX_HEADER_BUF), this.h_ptr = 0, this.w_ptr = 0, this.ancillary_flag = 0, this.ResvSize = 0, this.ResvMax = 0, this.scalefac_band = new r(), this.minval_l = Be(Pe.CBANDS), this.minval_s = Be(Pe.CBANDS), this.nb_1 = ke([4, Pe.CBANDS]), this.nb_2 = ke([4, Pe.CBANDS]), this.nb_s1 = ke([4, Pe.CBANDS]), this.nb_s2 = ke([4, Pe.CBANDS]), this.s3_ss = null, this.s3_ll = null, this.decay = 0, this.thm = new Array(4), this.en = new Array(4), this.tot_ener = Be(4), this.loudness_sq = ke([2, 2]), this.loudness_sq_save = Be(2), this.mld_l = Be(Pe.SBMAX_l), this.mld_s = Be(Pe.SBMAX_s), this.bm_l = Ae(Pe.SBMAX_l), this.bo_l = Ae(Pe.SBMAX_l), this.bm_s = Ae(Pe.SBMAX_s), this.bo_s = Ae(Pe.SBMAX_s), this.npart_l = 0, this.npart_s = 0, this.s3ind = Y([Pe.CBANDS, 2]), this.s3ind_s = Y([Pe.CBANDS, 2]), this.numlines_s = Ae(Pe.CBANDS), this.numlines_l = Ae(Pe.CBANDS), this.rnumlines_l = Be(Pe.CBANDS), this.mld_cb_l = Be(Pe.CBANDS), this.mld_cb_s = Be(Pe.CBANDS), this.numlines_s_num1 = 0, this.numlines_l_num1 = 0, this.pe = Be(4), this.ms_ratio_s_old = 0, this.ms_ratio_l_old = 0, this.ms_ener_ratio_old = 0, this.blocktype_old = Ae(2), this.nsPsy = new function () {
+ this.last_en_subshort = ke([4, 9]), this.lastAttacks = Ae(4), this.pefirbuf = Be(19), this.longfact = Be(Pe.SBMAX_l), this.shortfact = Be(Pe.SBMAX_s), this.attackthre = 0, this.attackthre_s = 0;
}(), this.VBR_seek_table = new function () {
this.sum = 0, this.seen = 0, this.want = 0, this.pos = 0, this.size = 0, this.bag = null, this.nVbrNumFrames = 0, this.nBytesWritten = 0, this.TotalFrameSize = 0;
- }(), this.ATH = null, this.PSY = null, this.nogap_total = 0, this.nogap_current = 0, this.decode_on_the_fly = !0, this.findReplayGain = !0, this.findPeakSample = !0, this.PeakSample = 0, this.RadioGain = 0, this.AudiophileGain = 0, this.rgdata = null, this.noclipGainChange = 0, this.noclipScale = 0, this.bitrate_stereoMode_Hist = w([16, 5]), this.bitrate_blockType_Hist = w([16, 6]), this.pinfo = null, this.hip = null, this.in_buffer_nsamples = 0, this.in_buffer_0 = null, this.in_buffer_1 = null, this.iteration_loop = null;
+ }(), this.ATH = null, this.PSY = null, this.nogap_total = 0, this.nogap_current = 0, this.decode_on_the_fly = !0, this.findReplayGain = !0, this.findPeakSample = !0, this.PeakSample = 0, this.RadioGain = 0, this.AudiophileGain = 0, this.rgdata = null, this.noclipGainChange = 0, this.noclipScale = 0, this.bitrate_stereoMode_Hist = Y([16, 5]), this.bitrate_blockType_Hist = Y([16, 6]), this.pinfo = null, this.hip = null, this.in_buffer_nsamples = 0, this.in_buffer_0 = null, this.in_buffer_1 = null, this.iteration_loop = null;
for (var a = 0; a < this.en.length; a++) this.en[a] = new i();
- for (var a = 0; a < this.thm.length; a++) this.thm[a] = new i();
- for (var a = 0; a < this.header.length; a++) this.header[a] = new t();
+ for (a = 0; a < this.thm.length; a++) this.thm[a] = new i();
+ for (a = 0; a < this.header.length; a++) this.header[a] = new t();
}
- function X() {
- var k = new function () {
- var h = de(Ae.BLKSIZE),
- p = de(Ae.BLKSIZE_s / 2),
- x = [.9238795325112867, .3826834323650898, .9951847266721969, .0980171403295606, .9996988186962042, .02454122852291229, .9999811752826011, .006135884649154475];
- function m(e, t, a) {
- var n,
- s,
+ function G() {
+ var B = new function () {
+ var u = Be(Pe.BLKSIZE),
+ p = Be(Pe.BLKSIZE_s / 2),
+ y = [.9238795325112867, .3826834323650898, .9951847266721969, .0980171403295606, .9996988186962042, .02454122852291229, .9999811752826011, .006135884649154475];
+ function b(e, t, a) {
+ var s,
+ n,
r,
i = 0,
o = t + (a <<= 1);
- n = 4;
+ s = 4;
do {
- var _, l, f, c, u, h, b;
- for (b = n >> 1, h = (u = (c = n) << 1) + c, n = u << 1, r = (s = t) + b; S = e[s + 0] - e[s + c], w = e[s + 0] + e[s + c], k = e[s + u] - e[s + h], y = e[s + u] + e[s + h], e[s + u] = w - y, e[s + 0] = w + y, e[s + h] = S - k, e[s + c] = S + k, S = e[r + 0] - e[r + c], w = e[r + 0] + e[r + c], k = V.SQRT2 * e[r + h], y = V.SQRT2 * e[r + u], e[r + u] = w - y, e[r + 0] = w + y, e[r + h] = S - k, e[r + c] = S + k, r += n, (s += n) < o;);
- for (l = x[i + 0], _ = x[i + 1], f = 1; f < b; f++) {
- var p, m;
- p = 1 - 2 * _ * _, m = 2 * _ * l, s = t + f, r = t + c - f;
+ var _, l, f, c, h, u, m;
+ for (m = s >> 1, u = (h = (c = s) << 1) + c, s = h << 1, r = (n = t) + m; M = e[n + 0] - e[n + c], S = e[n + 0] + e[n + c], B = e[n + h] - e[n + u], R = e[n + h] + e[n + u], e[n + h] = S - R, e[n + 0] = S + R, e[n + u] = M - B, e[n + c] = M + B, M = e[r + 0] - e[r + c], S = e[r + 0] + e[r + c], B = ee.SQRT2 * e[r + u], R = ee.SQRT2 * e[r + h], e[r + h] = S - R, e[r + 0] = S + R, e[r + u] = M - B, e[r + c] = M + B, r += s, (n += s) < o;);
+ for (l = y[i + 0], _ = y[i + 1], f = 1; f < m; f++) {
+ var p, b;
+ p = 1 - 2 * _ * _, b = 2 * _ * l, n = t + f, r = t + c - f;
do {
- var v, d, g, w, S, M, y, A, k, R;
- d = m * e[s + c] - p * e[r + c], v = p * e[s + c] + m * e[r + c], S = e[s + 0] - v, w = e[s + 0] + v, M = e[r + 0] - d, g = e[r + 0] + d, d = m * e[s + h] - p * e[r + h], v = p * e[s + h] + m * e[r + h], k = e[s + u] - v, y = e[s + u] + v, R = e[r + u] - d, A = e[r + u] + d, d = _ * y - l * R, v = l * y + _ * R, e[s + u] = w - v, e[s + 0] = w + v, e[r + h] = M - d, e[r + c] = M + d, d = l * A - _ * k, v = _ * A + l * k, e[r + u] = g - v, e[r + 0] = g + v, e[s + h] = S - d, e[s + c] = S + d, r += n, s += n;
- } while (s < o);
- l = (p = l) * x[i + 0] - _ * x[i + 1], _ = p * x[i + 1] + _ * x[i + 0];
+ var v, d, g, S, M, w, R, A, B, k;
+ d = b * e[n + c] - p * e[r + c], v = p * e[n + c] + b * e[r + c], M = e[n + 0] - v, S = e[n + 0] + v, w = e[r + 0] - d, g = e[r + 0] + d, d = b * e[n + u] - p * e[r + u], v = p * e[n + u] + b * e[r + u], B = e[n + h] - v, R = e[n + h] + v, k = e[r + h] - d, A = e[r + h] + d, d = _ * R - l * k, v = l * R + _ * k, e[n + h] = S - v, e[n + 0] = S + v, e[r + u] = w - d, e[r + c] = w + d, d = l * A - _ * B, v = _ * A + l * B, e[r + h] = g - v, e[r + 0] = g + v, e[n + u] = M - d, e[n + c] = M + d, r += s, n += s;
+ } while (n < o);
+ l = (p = l) * y[i + 0] - _ * y[i + 1], _ = p * y[i + 1] + _ * y[i + 0];
}
i += 2;
- } while (n < a);
+ } while (s < a);
}
var v = [0, 128, 64, 192, 32, 160, 96, 224, 16, 144, 80, 208, 48, 176, 112, 240, 8, 136, 72, 200, 40, 168, 104, 232, 24, 152, 88, 216, 56, 184, 120, 248, 4, 132, 68, 196, 36, 164, 100, 228, 20, 148, 84, 212, 52, 180, 116, 244, 12, 140, 76, 204, 44, 172, 108, 236, 28, 156, 92, 220, 60, 188, 124, 252, 2, 130, 66, 194, 34, 162, 98, 226, 18, 146, 82, 210, 50, 178, 114, 242, 10, 138, 74, 202, 42, 170, 106, 234, 26, 154, 90, 218, 58, 186, 122, 250, 6, 134, 70, 198, 38, 166, 102, 230, 22, 150, 86, 214, 54, 182, 118, 246, 14, 142, 78, 206, 46, 174, 110, 238, 30, 158, 94, 222, 62, 190, 126, 254];
- this.fft_short = function (e, t, a, n, s) {
+ this.fft_short = function (e, t, a, s, n) {
for (var r = 0; r < 3; r++) {
- var i = Ae.BLKSIZE_s / 2,
+ var i = Pe.BLKSIZE_s / 2,
o = 65535 & 192 * (r + 1),
- _ = Ae.BLKSIZE_s / 8 - 1;
+ _ = Pe.BLKSIZE_s / 8 - 1;
do {
var l,
f,
c,
- u,
h,
- b = 255 & v[_ << 2];
- l = p[b] * n[a][s + b + o], h = p[127 - b] * n[a][s + b + o + 128], f = l - h, l += h, c = p[b + 64] * n[a][s + b + o + 64], h = p[63 - b] * n[a][s + b + o + 192], u = c - h, c += h, i -= 4, t[r][i + 0] = l + c, t[r][i + 2] = l - c, t[r][i + 1] = f + u, t[r][i + 3] = f - u, l = p[b + 1] * n[a][s + b + o + 1], h = p[126 - b] * n[a][s + b + o + 129], f = l - h, l += h, c = p[b + 65] * n[a][s + b + o + 65], h = p[62 - b] * n[a][s + b + o + 193], u = c - h, c += h, t[r][i + Ae.BLKSIZE_s / 2 + 0] = l + c, t[r][i + Ae.BLKSIZE_s / 2 + 2] = l - c, t[r][i + Ae.BLKSIZE_s / 2 + 1] = f + u, t[r][i + Ae.BLKSIZE_s / 2 + 3] = f - u;
+ u,
+ m = 255 & v[_ << 2];
+ f = (l = p[m] * s[a][n + m + o]) - (u = p[127 - m] * s[a][n + m + o + 128]), l += u, h = (c = p[m + 64] * s[a][n + m + o + 64]) - (u = p[63 - m] * s[a][n + m + o + 192]), c += u, i -= 4, t[r][i + 0] = l + c, t[r][i + 2] = l - c, t[r][i + 1] = f + h, t[r][i + 3] = f - h, f = (l = p[m + 1] * s[a][n + m + o + 1]) - (u = p[126 - m] * s[a][n + m + o + 129]), l += u, h = (c = p[m + 65] * s[a][n + m + o + 65]) - (u = p[62 - m] * s[a][n + m + o + 193]), c += u, t[r][i + Pe.BLKSIZE_s / 2 + 0] = l + c, t[r][i + Pe.BLKSIZE_s / 2 + 2] = l - c, t[r][i + Pe.BLKSIZE_s / 2 + 1] = f + h, t[r][i + Pe.BLKSIZE_s / 2 + 3] = f - h;
} while (0 <= --_);
- m(t[r], i, Ae.BLKSIZE_s / 2);
+ b(t[r], i, Pe.BLKSIZE_s / 2);
}
- }, this.fft_long = function (e, t, a, n, s) {
- var r = Ae.BLKSIZE / 8 - 1,
- i = Ae.BLKSIZE / 2;
+ }, this.fft_long = function (e, t, a, s, n) {
+ var r = Pe.BLKSIZE / 8 - 1,
+ i = Pe.BLKSIZE / 2;
do {
var o,
_,
l,
f,
c,
- u = 255 & v[r];
- o = h[u] * n[a][s + u], c = h[u + 512] * n[a][s + u + 512], _ = o - c, o += c, l = h[u + 256] * n[a][s + u + 256], c = h[u + 768] * n[a][s + u + 768], f = l - c, l += c, t[0 + (i -= 4)] = o + l, t[i + 2] = o - l, t[i + 1] = _ + f, t[i + 3] = _ - f, o = h[u + 1] * n[a][s + u + 1], c = h[u + 513] * n[a][s + u + 513], _ = o - c, o += c, l = h[u + 257] * n[a][s + u + 257], c = h[u + 769] * n[a][s + u + 769], f = l - c, l += c, t[i + Ae.BLKSIZE / 2 + 0] = o + l, t[i + Ae.BLKSIZE / 2 + 2] = o - l, t[i + Ae.BLKSIZE / 2 + 1] = _ + f, t[i + Ae.BLKSIZE / 2 + 3] = _ - f;
+ h = 255 & v[r];
+ _ = (o = u[h] * s[a][n + h]) - (c = u[h + 512] * s[a][n + h + 512]), o += c, f = (l = u[h + 256] * s[a][n + h + 256]) - (c = u[h + 768] * s[a][n + h + 768]), l += c, t[0 + (i -= 4)] = o + l, t[i + 2] = o - l, t[i + 1] = _ + f, t[i + 3] = _ - f, _ = (o = u[h + 1] * s[a][n + h + 1]) - (c = u[h + 513] * s[a][n + h + 513]), o += c, f = (l = u[h + 257] * s[a][n + h + 257]) - (c = u[h + 769] * s[a][n + h + 769]), l += c, t[i + Pe.BLKSIZE / 2 + 0] = o + l, t[i + Pe.BLKSIZE / 2 + 2] = o - l, t[i + Pe.BLKSIZE / 2 + 1] = _ + f, t[i + Pe.BLKSIZE / 2 + 3] = _ - f;
} while (0 <= --r);
- m(t, i, Ae.BLKSIZE / 2);
+ b(t, i, Pe.BLKSIZE / 2);
}, this.init_fft = function (e) {
- for (var t = 0; t < Ae.BLKSIZE; t++) h[t] = .42 - .5 * Math.cos(2 * Math.PI * (t + .5) / Ae.BLKSIZE) + .08 * Math.cos(4 * Math.PI * (t + .5) / Ae.BLKSIZE);
- for (var t = 0; t < Ae.BLKSIZE_s / 2; t++) p[t] = .5 * (1 - Math.cos(2 * Math.PI * (t + .5) / Ae.BLKSIZE_s));
+ for (var t = 0; t < Pe.BLKSIZE; t++) u[t] = .42 - .5 * Math.cos(2 * Math.PI * (t + .5) / Pe.BLKSIZE) + .08 * Math.cos(4 * Math.PI * (t + .5) / Pe.BLKSIZE);
+ for (t = 0; t < Pe.BLKSIZE_s / 2; t++) p[t] = .5 * (1 - Math.cos(2 * Math.PI * (t + .5) / Pe.BLKSIZE_s));
};
}(),
- R = 2.302585092994046,
+ k = 2.302585092994046,
+ _e = 2,
+ le = 16,
d = 2,
g = 16,
E = .34,
- v = 1 / 217621504 / (Ae.BLKSIZE / 2),
- w = .2302585093;
- function se(e, t, a, n, s, r, i, o, _, l, f) {
+ n = 1 / 217621504 / (Pe.BLKSIZE / 2),
+ fe = .3,
+ ce = 21,
+ S = .2302585093;
+ function M(e) {
+ return e;
+ }
+ function N(e, t) {
+ for (var a = 0, s = 0; s < Pe.BLKSIZE / 2; ++s) a += e[s] * t.ATH.eql_w[s];
+ return a *= n;
+ }
+ function he(e, t, a, s, n, r, i, o, _, l, f) {
var c = e.internal_flags;
- _ < 2 ? (k.fft_long(c, n[s], _, l, f), k.fft_short(c, r[i], _, l, f)) : 2 == _ && me(), t[0] = n[s + 0][0], t[0] *= t[0];
- for (var u = Ae.BLKSIZE / 2 - 1; 0 <= u; --u) {
- var h = n[s + 0][Ae.BLKSIZE / 2 - u],
- b = n[s + 0][Ae.BLKSIZE / 2 + u];
- t[Ae.BLKSIZE / 2 - u] = .5 * (h * h + b * b);
- }
- for (var p = 2; 0 <= p; --p) {
- a[p][0] = r[i + 0][p][0], a[p][0] *= a[p][0];
- for (var u = Ae.BLKSIZE_s / 2 - 1; 0 <= u; --u) {
- var h = r[i + 0][p][Ae.BLKSIZE_s / 2 - u],
- b = r[i + 0][p][Ae.BLKSIZE_s / 2 + u];
- a[p][Ae.BLKSIZE_s / 2 - u] = .5 * (h * h + b * b);
+ if (_ < 2) B.fft_long(c, s[n], _, l, f), B.fft_short(c, r[i], _, l, f);else if (2 == _) {
+ for (var h = Pe.BLKSIZE - 1; 0 <= h; --h) {
+ var u = s[n + 0][h],
+ m = s[n + 1][h];
+ s[n + 0][h] = (u + m) * ee.SQRT2 * .5, s[n + 1][h] = (u - m) * ee.SQRT2 * .5;
+ }
+ for (var p = 2; 0 <= p; --p) for (h = Pe.BLKSIZE_s - 1; 0 <= h; --h) {
+ u = r[i + 0][p][h], m = r[i + 1][p][h];
+ r[i + 0][p][h] = (u + m) * ee.SQRT2 * .5, r[i + 1][p][h] = (u - m) * ee.SQRT2 * .5;
}
}
- for (var m = 0, u = 11; u < Ae.HBLKSIZE; u++) m += t[u];
- c.tot_ener[_] = m, e.analysis && me(), 2 == e.athaa_loudapprox && _ < 2 && (c.loudness_sq[o][_] = c.loudness_sq_save[_], c.loudness_sq_save[_] = function (e, t) {
- for (var a = 0, n = 0; n < Ae.BLKSIZE / 2; ++n) a += e[n] * t.ATH.eql_w[n];
- return a *= v;
- }(t, c));
+ t[0] = M(s[n + 0][0]), t[0] *= t[0];
+ for (h = Pe.BLKSIZE / 2 - 1; 0 <= h; --h) {
+ var b = s[n + 0][Pe.BLKSIZE / 2 - h],
+ v = s[n + 0][Pe.BLKSIZE / 2 + h];
+ t[Pe.BLKSIZE / 2 - h] = M(.5 * (b * b + v * v));
+ }
+ for (p = 2; 0 <= p; --p) {
+ a[p][0] = r[i + 0][p][0], a[p][0] *= a[p][0];
+ for (h = Pe.BLKSIZE_s / 2 - 1; 0 <= h; --h) {
+ b = r[i + 0][p][Pe.BLKSIZE_s / 2 - h], v = r[i + 0][p][Pe.BLKSIZE_s / 2 + h];
+ a[p][Pe.BLKSIZE_s / 2 - h] = M(.5 * (b * b + v * v));
+ }
+ }
+ var d = 0;
+ for (h = 11; h < Pe.HBLKSIZE; h++) d += t[h];
+ if (c.tot_ener[_] = d, e.analysis) {
+ for (h = 0; h < Pe.HBLKSIZE; h++) c.pinfo.energy[o][_][h] = c.pinfo.energy_save[_][h], c.pinfo.energy_save[_][h] = t[h];
+ c.pinfo.pe[o][_] = c.pe[_];
+ }
+ 2 == e.athaa_loudapprox && _ < 2 && (c.loudness_sq[o][_] = c.loudness_sq_save[_], c.loudness_sq_save[_] = N(t, c));
}
- var x,
- B,
+ var y,
T,
- C = 8,
- I = 23,
- L = 15,
- re = [1, .79433, .63096, .63096, .63096, .63096, .63096, .25119, .11749],
- f = [3.3246 * 3.3246, 3.23837 * 3.23837, 9.9500500969, 9.0247369744, 8.1854926609, 7.0440875649, 2.46209 * 2.46209, 2.284 * 2.284, 4.4892710641, 1.96552 * 1.96552, 1.82335 * 1.82335, 1.69146 * 1.69146, 2.4621061921, 2.1508568964, 1.37074 * 1.37074, 1.31036 * 1.31036, 1.5691069696, 1.4555939904, 1.16203 * 1.16203, 1.2715945225, 1.09428 * 1.09428, 1.0659 * 1.0659, 1.0779838276, 1.0382591025, 1],
+ x,
+ P = 8,
+ L = 23,
+ I = 15,
+ ue = [1, .79433, .63096, .63096, .63096, .63096, .63096, .25119, .11749];
+ var f = [3.3246 * 3.3246, 3.23837 * 3.23837, 9.9500500969, 9.0247369744, 8.1854926609, 7.0440875649, 2.46209 * 2.46209, 2.284 * 2.284, 4.4892710641, 1.96552 * 1.96552, 1.82335 * 1.82335, 1.69146 * 1.69146, 2.4621061921, 2.1508568964, 1.37074 * 1.37074, 1.31036 * 1.31036, 1.5691069696, 1.4555939904, 1.16203 * 1.16203, 1.2715945225, 1.09428 * 1.09428, 1.0659 * 1.0659, 1.0779838276, 1.0382591025, 1],
c = [1.7782755904, 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497, 1.40548 * 1.40548, 1.3537 * 1.3537, 1.6999465924, 1.22321 * 1.22321, 1.3169398564, 1],
- u = [5.5396212496, 2.29259 * 2.29259, 4.9868695969, 2.12675 * 2.12675, 2.02545 * 2.02545, 1.87894 * 1.87894, 1.74303 * 1.74303, 1.61695 * 1.61695, 2.2499700001, 1.39148 * 1.39148, 1.29083 * 1.29083, 1.19746 * 1.19746, 1.2339655056, 1.0779838276];
- function ie(e, t, a, n, s, r) {
+ h = [5.5396212496, 2.29259 * 2.29259, 4.9868695969, 2.12675 * 2.12675, 2.02545 * 2.02545, 1.87894 * 1.87894, 1.74303 * 1.74303, 1.61695 * 1.61695, 2.2499700001, 1.39148 * 1.39148, 1.29083 * 1.29083, 1.19746 * 1.19746, 1.2339655056, 1.0779838276];
+ function me(e, t, a, s, n, r) {
var i;
if (e < t) {
- if (!(t < e * B)) return e + t;
+ if (!(t < e * T)) return e + t;
i = t / e;
} else {
- if (t * B <= e) return e + t;
+ if (t * T <= e) return e + t;
i = e / t;
}
- if (e += t, n + 3 <= 6) {
- if (x <= i) return e;
- var o = 0 | V.FAST_LOG10_X(i, 16);
+ if (e += t, s + 3 <= 6) {
+ if (y <= i) return e;
+ var o = 0 | ee.FAST_LOG10_X(i, 16);
return e * c[o];
}
- var _,
- l,
- o = 0 | V.FAST_LOG10_X(i, 16);
- return t = 0 != r ? s.ATH.cb_s[a] * s.ATH.adjust : s.ATH.cb_l[a] * s.ATH.adjust, e < T * t ? t < e ? (_ = 1, o <= 13 && (_ = u[o]), l = V.FAST_LOG10_X(e / t, 10 / 15), e * ((f[o] - _) * l + _)) : 13 < o ? e : e * u[o] : e * f[o];
+ var _, l;
+ o = 0 | ee.FAST_LOG10_X(i, 16);
+ return t = 0 != r ? n.ATH.cb_s[a] * n.ATH.adjust : n.ATH.cb_l[a] * n.ATH.adjust, e < x * t ? t < e ? (_ = 1, o <= 13 && (_ = h[o]), l = ee.FAST_LOG10_X(e / t, 10 / 15), e * ((f[o] - _) * l + _)) : 13 < o ? e : e * h[o] : e * f[o];
}
- function oe(e, t, a, n, s) {
+ var r = [1.7782755904, 1.35879 * 1.35879, 1.38454 * 1.38454, 1.39497 * 1.39497, 1.40548 * 1.40548, 1.3537 * 1.3537, 1.6999465924, 1.22321 * 1.22321, 1.3169398564, 1];
+ function A(e, t, a) {
+ var s;
+ if (e < 0 && (e = 0), t < 0 && (t = 0), e <= 0) return t;
+ if (t <= 0) return e;
+ if (s = e < t ? t / e : e / t, -2 <= a && a <= 2) {
+ if (y <= s) return e + t;
+ var n = 0 | ee.FAST_LOG10_X(s, 16);
+ return (e + t) * r[n];
+ }
+ return s < T ? e + t : (e < t && (e = t), e);
+ }
+ function pe(e, t, a, s, n) {
var r,
i,
o = 0,
_ = 0;
- for (r = i = 0; r < Ae.SBMAX_s; ++i, ++r) {
+ for (r = i = 0; r < Pe.SBMAX_s; ++i, ++r) {
for (var l = e.bo_s[r], f = e.npart_s, c = l < f ? l : f; i < c;) o += t[i], _ += a[i], i++;
- if (e.en[n].s[r][s] = o, e.thm[n].s[r][s] = _, f <= i) {
+ if (e.en[s].s[r][n] = o, e.thm[s].s[r][n] = _, f <= i) {
++r;
break;
}
- var u = e.PSY.bo_s_weight[r],
- h = 1 - u;
- o = u * t[i], _ = u * a[i], e.en[n].s[r][s] += o, e.thm[n].s[r][s] += _, o = h * t[i], _ = h * a[i];
+ var h = e.PSY.bo_s_weight[r],
+ u = 1 - h;
+ o = h * t[i], _ = h * a[i], e.en[s].s[r][n] += o, e.thm[s].s[r][n] += _, o = u * t[i], _ = u * a[i];
}
- for (; r < Ae.SBMAX_s; ++r) e.en[n].s[r][s] = 0, e.thm[n].s[r][s] = 0;
+ for (; r < Pe.SBMAX_s; ++r) e.en[s].s[r][n] = 0, e.thm[s].s[r][n] = 0;
}
- function _e(e, t, a, n) {
- var s,
+ function be(e, t, a, s) {
+ var n,
r,
i = 0,
o = 0;
- for (s = r = 0; s < Ae.SBMAX_l; ++r, ++s) {
- for (var _ = e.bo_l[s], l = e.npart_l, f = _ < l ? _ : l; r < f;) i += t[r], o += a[r], r++;
- if (e.en[n].l[s] = i, e.thm[n].l[s] = o, l <= r) {
- ++s;
+ for (n = r = 0; n < Pe.SBMAX_l; ++r, ++n) {
+ for (var _ = e.bo_l[n], l = e.npart_l, f = _ < l ? _ : l; r < f;) i += t[r], o += a[r], r++;
+ if (e.en[s].l[n] = i, e.thm[s].l[n] = o, l <= r) {
+ ++n;
break;
}
- var c = e.PSY.bo_l_weight[s],
- u = 1 - c;
- i = c * t[r], o = c * a[r], e.en[n].l[s] += i, e.thm[n].l[s] += o, i = u * t[r], o = u * a[r];
+ var c = e.PSY.bo_l_weight[n],
+ h = 1 - c;
+ i = c * t[r], o = c * a[r], e.en[s].l[n] += i, e.thm[s].l[n] += o, i = h * t[r], o = h * a[r];
}
- for (; s < Ae.SBMAX_l; ++s) e.en[n].l[s] = 0, e.thm[n].l[s] = 0;
+ for (; n < Pe.SBMAX_l; ++n) e.en[s].l[n] = 0, e.thm[s].l[n] = 0;
}
- function le(e, t, a, n, s, r) {
+ function ve(e, t, a, s, n, r) {
var i,
o,
_ = e.internal_flags;
for (o = i = 0; o < _.npart_s; ++o) {
- for (var l = 0, f = 0, c = _.numlines_s[o], u = 0; u < c; ++u, ++i) {
- var h = t[r][i];
- l += h, f < h && (f = h);
+ for (var l = 0, f = 0, c = _.numlines_s[o], h = 0; h < c; ++h, ++i) {
+ var u = t[r][i];
+ l += u, f < u && (f = u);
}
a[o] = l;
}
for (i = o = 0; o < _.npart_s; o++) {
- var b = _.s3ind_s[o][0],
- p = _.s3_ss[i++] * a[b];
- for (++b; b <= _.s3ind_s[o][1];) p += _.s3_ss[i] * a[b], ++i, ++b;
- var m = d * _.nb_s1[s][o];
- if (n[o] = Math.min(p, m), _.blocktype_old[1 & s] == Ae.SHORT_TYPE) {
- var m = g * _.nb_s2[s][o],
- v = n[o];
- n[o] = Math.min(m, v);
+ var m = _.s3ind_s[o][0],
+ p = _.s3_ss[i++] * a[m];
+ for (++m; m <= _.s3ind_s[o][1];) p += _.s3_ss[i] * a[m], ++i, ++m;
+ var b = d * _.nb_s1[n][o];
+ if (s[o] = Math.min(p, b), _.blocktype_old[1 & n] == Pe.SHORT_TYPE) {
+ b = g * _.nb_s2[n][o];
+ var v = s[o];
+ s[o] = Math.min(b, v);
}
- _.nb_s2[s][o] = _.nb_s1[s][o], _.nb_s1[s][o] = p;
+ _.nb_s2[n][o] = _.nb_s1[n][o], _.nb_s1[n][o] = p;
}
- for (; o <= Ae.CBANDS; ++o) a[o] = 0, n[o] = 0;
+ for (; o <= Pe.CBANDS; ++o) a[o] = 0, s[o] = 0;
}
- function fe(e, t, a) {
+ function de(e, t, a) {
return 1 <= a ? e : a <= 0 ? t : 0 < t ? Math.pow(e / t, a) * t : 0;
}
var _ = [11.8, 13.6, 17.2, 32, 46.5, 51.3, 57.5, 67.1, 71.5, 84.6, 97.6, 130];
- function ce(e, t) {
- for (var a = 309.07, n = 0; n < Ae.SBMAX_s - 1; n++) for (var s = 0; s < 3; s++) {
- var r = e.thm.s[n][s];
+ function ge(e, t) {
+ for (var a = 309.07, s = 0; s < Pe.SBMAX_s - 1; s++) for (var n = 0; n < 3; n++) {
+ var r = e.thm.s[s][n];
if (0 < r) {
var i = r * t,
- o = e.en.s[n][s];
- i < o && (a += 1e10 * i < o ? _[n] * (10 * R) : _[n] * V.FAST_LOG10(o / i));
+ o = e.en.s[s][n];
+ i < o && (a += 1e10 * i < o ? _[s] * (10 * k) : _[s] * ee.FAST_LOG10(o / i));
}
}
return a;
}
var o = [6.8, 5.8, 5.8, 6.4, 6.5, 9.9, 12.1, 14.4, 15, 18.9, 21.6, 26.9, 34.2, 40.2, 46.8, 56.5, 60.7, 73.9, 85.7, 93.4, 126.1];
- function ue(e, t) {
- for (var a = 281.0575, n = 0; n < Ae.SBMAX_l - 1; n++) {
- var s = e.thm.l[n];
- if (0 < s) {
- var r = s * t,
- i = e.en.l[n];
- r < i && (a += 1e10 * r < i ? o[n] * (10 * R) : o[n] * V.FAST_LOG10(i / r));
+ function Se(e, t) {
+ for (var a = 281.0575, s = 0; s < Pe.SBMAX_l - 1; s++) {
+ var n = e.thm.l[s];
+ if (0 < n) {
+ var r = n * t,
+ i = e.en.l[s];
+ r < i && (a += 1e10 * r < i ? o[s] * (10 * k) : o[s] * ee.FAST_LOG10(i / r));
}
}
return a;
}
- function he(e, t, a, n, s) {
+ function Me(e, t, a, s, n) {
var r, i;
for (r = i = 0; r < e.npart_l; ++r) {
var o,
@@ -36519,495 +36415,894 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
var f = t[i];
_ += f, l < f && (l = f);
}
- a[r] = _, n[r] = l, s[r] = _ * e.rnumlines_l[r];
+ a[r] = _, s[r] = l, n[r] = _ * e.rnumlines_l[r];
}
}
- function be(e, t, a, n) {
- var s = re.length - 1,
+ function we(e, t, a, s) {
+ var n = ue.length - 1,
r = 0,
i = a[r] + a[r + 1];
- if (0 < i) {
- var o = t[r];
- o < t[r + 1] && (o = t[r + 1]);
- var _ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_l[r] + e.numlines_l[r + 1] - 1)));
- s < _ && (_ = s), n[r] = _;
- } else n[r] = 0;
- for (r = 1; r < e.npart_l - 1; r++) if (0 < (i = a[r - 1] + a[r] + a[r + 1])) {
- var o = t[r - 1];
- o < t[r] && (o = t[r]), o < t[r + 1] && (o = t[r + 1]);
- var _ = 0 | (i = 20 * (3 * o - i) / (i * (e.numlines_l[r - 1] + e.numlines_l[r] + e.numlines_l[r + 1] - 1)));
- s < _ && (_ = s), n[r] = _;
- } else n[r] = 0;
- if (0 < (i = a[r - 1] + a[r])) {
- var o = t[r - 1];
- o < t[r] && (o = t[r]);
- var _ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_l[r - 1] + e.numlines_l[r] - 1)));
- s < _ && (_ = s), n[r] = _;
- } else n[r] = 0;
+ 0 < i ? ((o = t[r]) < t[r + 1] && (o = t[r + 1]), n < (_ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_l[r] + e.numlines_l[r + 1] - 1)))) && (_ = n), s[r] = _) : s[r] = 0;
+ for (r = 1; r < e.npart_l - 1; r++) {
+ var o, _;
+ if (0 < (i = a[r - 1] + a[r] + a[r + 1])) (o = t[r - 1]) < t[r] && (o = t[r]), o < t[r + 1] && (o = t[r + 1]), n < (_ = 0 | (i = 20 * (3 * o - i) / (i * (e.numlines_l[r - 1] + e.numlines_l[r] + e.numlines_l[r + 1] - 1)))) && (_ = n), s[r] = _;else s[r] = 0;
+ }
+ 0 < (i = a[r - 1] + a[r]) ? ((o = t[r - 1]) < t[r] && (o = t[r]), n < (_ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_l[r - 1] + e.numlines_l[r] - 1)))) && (_ = n), s[r] = _) : s[r] = 0;
}
- var pe = [-1.730326e-17, -.01703172, -1.349528e-17, .0418072, -6.73278e-17, -.0876324, -3.0835e-17, .1863476, -1.104424e-16, -.627638];
- function P(e) {
+ var Re = [-1.730326e-17, -.01703172, -1.349528e-17, .0418072, -6.73278e-17, -.0876324, -3.0835e-17, .1863476, -1.104424e-16, -.627638];
+ function D(e, t, a, s, n, r, i, o) {
+ var _ = e.internal_flags;
+ if (s < 2) B.fft_long(_, i[o], s, t, a);else if (2 == s) for (var l = Pe.BLKSIZE - 1; 0 <= l; --l) {
+ var f = i[o + 0][l],
+ c = i[o + 1][l];
+ i[o + 0][l] = (f + c) * ee.SQRT2 * .5, i[o + 1][l] = (f - c) * ee.SQRT2 * .5;
+ }
+ r[0] = M(i[o + 0][0]), r[0] *= r[0];
+ for (l = Pe.BLKSIZE / 2 - 1; 0 <= l; --l) {
+ var h = i[o + 0][Pe.BLKSIZE / 2 - l],
+ u = i[o + 0][Pe.BLKSIZE / 2 + l];
+ r[Pe.BLKSIZE / 2 - l] = M(.5 * (h * h + u * u));
+ }
+ var m = 0;
+ for (l = 11; l < Pe.HBLKSIZE; l++) m += r[l];
+ if (_.tot_ener[s] = m, e.analysis) {
+ for (l = 0; l < Pe.HBLKSIZE; l++) _.pinfo.energy[n][s][l] = _.pinfo.energy_save[s][l], _.pinfo.energy_save[s][l] = r[l];
+ _.pinfo.pe[n][s] = _.pe[s];
+ }
+ }
+ function Y(e, t, a, s, n, r, i, o) {
+ var _ = e.internal_flags;
+ if (0 == n && s < 2 && B.fft_short(_, i[o], s, t, a), 2 == s) for (var l = Pe.BLKSIZE_s - 1; 0 <= l; --l) {
+ var f = i[o + 0][n][l],
+ c = i[o + 1][n][l];
+ i[o + 0][n][l] = (f + c) * ee.SQRT2 * .5, i[o + 1][n][l] = (f - c) * ee.SQRT2 * .5;
+ }
+ r[n][0] = i[o + 0][n][0], r[n][0] *= r[n][0];
+ for (l = Pe.BLKSIZE_s / 2 - 1; 0 <= l; --l) {
+ var h = i[o + 0][n][Pe.BLKSIZE_s / 2 - l],
+ u = i[o + 0][n][Pe.BLKSIZE_s / 2 + l];
+ r[n][Pe.BLKSIZE_s / 2 - l] = M(.5 * (h * h + u * u));
+ }
+ }
+ this.L3psycho_anal_ns = function (e, t, a, s, n, r, i, o, _, l) {
+ var f,
+ c,
+ h,
+ u,
+ m,
+ p,
+ b,
+ v,
+ d,
+ g,
+ S = e.internal_flags,
+ M = ke([2, Pe.BLKSIZE]),
+ w = ke([2, 3, Pe.BLKSIZE_s]),
+ R = Be(Pe.CBANDS + 1),
+ A = Be(Pe.CBANDS + 1),
+ B = Be(Pe.CBANDS + 2),
+ k = Ae(2),
+ y = Ae(2),
+ T = ke([2, 576]),
+ x = Ae(Pe.CBANDS + 2),
+ E = Ae(Pe.CBANDS + 2);
+ for (ye.fill(E, 0), f = S.channels_out, e.mode == Ee.JOINT_STEREO && (f = 4), d = e.VBR == xe.vbr_off ? 0 == S.ResvMax ? 0 : S.ResvSize / S.ResvMax * .5 : e.VBR == xe.vbr_rh || e.VBR == xe.vbr_mtrh || e.VBR == xe.vbr_mt ? .6 : 1, c = 0; c < S.channels_out; c++) {
+ var P = t[c],
+ L = a + 576 - 350 - ce + 192;
+ for (u = 0; u < 576; u++) {
+ var I, H;
+ for (I = P[L + u + 10], m = H = 0; m < (ce - 1) / 2 - 1; m += 2) I += Re[m] * (P[L + u + m] + P[L + u + ce - m]), H += Re[m + 1] * (P[L + u + m + 1] + P[L + u + ce - m - 1]);
+ T[c][u] = I + H;
+ }
+ n[s][c].en.assign(S.en[c]), n[s][c].thm.assign(S.thm[c]), 2 < f && (r[s][c].en.assign(S.en[c + 2]), r[s][c].thm.assign(S.thm[c + 2]));
+ }
+ for (c = 0; c < f; c++) {
+ var C,
+ V = Be(12),
+ O = [0, 0, 0, 0],
+ N = Be(12),
+ D = 1,
+ Y = Be(Pe.CBANDS),
+ X = Be(Pe.CBANDS),
+ q = [0, 0, 0, 0],
+ F = Be(Pe.HBLKSIZE),
+ j = ke([3, Pe.HBLKSIZE_s]);
+ for (u = 0; u < 3; u++) V[u] = S.nsPsy.last_en_subshort[c][u + 6], N[u] = V[u] / S.nsPsy.last_en_subshort[c][u + 4], O[0] += V[u];
+ if (2 == c) for (u = 0; u < 576; u++) {
+ var z, Z;
+ z = T[0][u], Z = T[1][u], T[0][u] = z + Z, T[1][u] = z - Z;
+ }
+ var K = T[1 & c],
+ G = 0;
+ for (u = 0; u < 9; u++) {
+ for (var U = G + 64, Q = 1; G < U; G++) Q < Math.abs(K[G]) && (Q = Math.abs(K[G]));
+ S.nsPsy.last_en_subshort[c][u] = V[u + 3] = Q, O[1 + u / 3] += Q, Q > V[u + 3 - 2] ? Q /= V[u + 3 - 2] : Q = V[u + 3 - 2] > 10 * Q ? V[u + 3 - 2] / (10 * Q) : 0, N[u + 3] = Q;
+ }
+ if (e.analysis) {
+ var W = N[0];
+ for (u = 1; u < 12; u++) W < N[u] && (W = N[u]);
+ S.pinfo.ers[s][c] = S.pinfo.ers_save[c], S.pinfo.ers_save[c] = W;
+ }
+ for (C = 3 == c ? S.nsPsy.attackthre_s : S.nsPsy.attackthre, u = 0; u < 12; u++) 0 == q[u / 3] && N[u] > C && (q[u / 3] = u % 3 + 1);
+ for (u = 1; u < 4; u++) {
+ (O[u - 1] > O[u] ? O[u - 1] / O[u] : O[u] / O[u - 1]) < 1.7 && (q[u] = 0, 1 == u && (q[0] = 0));
+ }
+ for (0 != q[0] && 0 != S.nsPsy.lastAttacks[c] && (q[0] = 0), 3 != S.nsPsy.lastAttacks[c] && q[0] + q[1] + q[2] + q[3] == 0 || ((D = 0) != q[1] && 0 != q[0] && (q[1] = 0), 0 != q[2] && 0 != q[1] && (q[2] = 0), 0 != q[3] && 0 != q[2] && (q[3] = 0)), c < 2 ? y[c] = D : 0 == D && (y[0] = y[1] = 0), _[c] = S.tot_ener[c], he(e, F, j, M, 1 & c, w, 1 & c, s, c, t, a), Me(S, F, R, Y, X), we(S, Y, X, x), v = 0; v < 3; v++) {
+ var J, $;
+ for (ve(e, j, A, B, c, v), pe(S, A, B, c, v), b = 0; b < Pe.SBMAX_s; b++) {
+ if ($ = S.thm[c].s[b][v], $ *= .8, 2 <= q[v] || 1 == q[v + 1]) {
+ var ee = 0 != v ? v - 1 : 2;
+ Q = de(S.thm[c].s[b][ee], $, .6 * d);
+ $ = Math.min($, Q);
+ }
+ if (1 == q[v]) {
+ ee = 0 != v ? v - 1 : 2, Q = de(S.thm[c].s[b][ee], $, fe * d);
+ $ = Math.min($, Q);
+ } else if (0 != v && 3 == q[v - 1] || 0 == v && 3 == S.nsPsy.lastAttacks[c]) {
+ ee = 2 != v ? v + 1 : 0, Q = de(S.thm[c].s[b][ee], $, fe * d);
+ $ = Math.min($, Q);
+ }
+ J = V[3 * v + 3] + V[3 * v + 4] + V[3 * v + 5], 6 * V[3 * v + 5] < J && ($ *= .5, 6 * V[3 * v + 4] < J && ($ *= .5)), S.thm[c].s[b][v] = $;
+ }
+ }
+ for (S.nsPsy.lastAttacks[c] = q[2], h = p = 0; h < S.npart_l; h++) {
+ for (var te = S.s3ind[h][0], ae = R[te] * ue[x[te]], se = S.s3_ll[p++] * ae; ++te <= S.s3ind[h][1];) ae = R[te] * ue[x[te]], se = me(se, S.s3_ll[p++] * ae, te, te - h, S, 0);
+ se *= .158489319246111, S.blocktype_old[1 & c] == Pe.SHORT_TYPE ? B[h] = se : B[h] = de(Math.min(se, Math.min(_e * S.nb_1[c][h], le * S.nb_2[c][h])), se, d), S.nb_2[c][h] = S.nb_1[c][h], S.nb_1[c][h] = se;
+ }
+ for (; h <= Pe.CBANDS; ++h) R[h] = 0, B[h] = 0;
+ be(S, R, B, c);
+ }
+ (e.mode != Ee.STEREO && e.mode != Ee.JOINT_STEREO || 0 < e.interChRatio && function (e, t) {
+ var a = e.internal_flags;
+ if (1 < a.channels_out) {
+ for (var s = 0; s < Pe.SBMAX_l; s++) {
+ var n = a.thm[0].l[s],
+ r = a.thm[1].l[s];
+ a.thm[0].l[s] += r * t, a.thm[1].l[s] += n * t;
+ }
+ for (s = 0; s < Pe.SBMAX_s; s++) for (var i = 0; i < 3; i++) n = a.thm[0].s[s][i], r = a.thm[1].s[s][i], a.thm[0].s[s][i] += r * t, a.thm[1].s[s][i] += n * t;
+ }
+ }(e, e.interChRatio), e.mode == Ee.JOINT_STEREO) && (!function (e) {
+ for (var t = 0; t < Pe.SBMAX_l; t++) if (!(e.thm[0].l[t] > 1.58 * e.thm[1].l[t] || e.thm[1].l[t] > 1.58 * e.thm[0].l[t])) {
+ var a = e.mld_l[t] * e.en[3].l[t],
+ s = Math.max(e.thm[2].l[t], Math.min(e.thm[3].l[t], a));
+ a = e.mld_l[t] * e.en[2].l[t];
+ var n = Math.max(e.thm[3].l[t], Math.min(e.thm[2].l[t], a));
+ e.thm[2].l[t] = s, e.thm[3].l[t] = n;
+ }
+ for (t = 0; t < Pe.SBMAX_s; t++) for (var r = 0; r < 3; r++) e.thm[0].s[t][r] > 1.58 * e.thm[1].s[t][r] || e.thm[1].s[t][r] > 1.58 * e.thm[0].s[t][r] || (a = e.mld_s[t] * e.en[3].s[t][r], s = Math.max(e.thm[2].s[t][r], Math.min(e.thm[3].s[t][r], a)), a = e.mld_s[t] * e.en[2].s[t][r], n = Math.max(e.thm[3].s[t][r], Math.min(e.thm[2].s[t][r], a)), e.thm[2].s[t][r] = s, e.thm[3].s[t][r] = n);
+ }(S), g = e.msfix, 0 < Math.abs(g) && function (e, t, a) {
+ var s = t,
+ n = Math.pow(10, a);
+ t *= 2, s *= 2;
+ for (var r = 0; r < Pe.SBMAX_l; r++) f = e.ATH.cb_l[e.bm_l[r]] * n, (o = Math.min(Math.max(e.thm[0].l[r], f), Math.max(e.thm[1].l[r], f))) * t < (_ = Math.max(e.thm[2].l[r], f)) + (l = Math.max(e.thm[3].l[r], f)) && (_ *= c = o * s / (_ + l), l *= c), e.thm[2].l[r] = Math.min(_, e.thm[2].l[r]), e.thm[3].l[r] = Math.min(l, e.thm[3].l[r]);
+ for (n *= Pe.BLKSIZE_s / Pe.BLKSIZE, r = 0; r < Pe.SBMAX_s; r++) for (var i = 0; i < 3; i++) {
+ var o, _, l, f, c;
+ f = e.ATH.cb_s[e.bm_s[r]] * n, (o = Math.min(Math.max(e.thm[0].s[r][i], f), Math.max(e.thm[1].s[r][i], f))) * t < (_ = Math.max(e.thm[2].s[r][i], f)) + (l = Math.max(e.thm[3].s[r][i], f)) && (_ *= c = o * t / (_ + l), l *= c), e.thm[2].s[r][i] = Math.min(e.thm[2].s[r][i], _), e.thm[3].s[r][i] = Math.min(e.thm[3].s[r][i], l);
+ }
+ }(S, g, e.ATHlower * S.ATH.adjust));
+ for (function (e, t, a, s) {
+ var n = e.internal_flags;
+ e.short_blocks != Te.short_block_coupled || 0 != t[0] && 0 != t[1] || (t[0] = t[1] = 0);
+ for (var r = 0; r < n.channels_out; r++) s[r] = Pe.NORM_TYPE, e.short_blocks == Te.short_block_dispensed && (t[r] = 1), e.short_blocks == Te.short_block_forced && (t[r] = 0), 0 != t[r] ? n.blocktype_old[r] == Pe.SHORT_TYPE && (s[r] = Pe.STOP_TYPE) : (s[r] = Pe.SHORT_TYPE, n.blocktype_old[r] == Pe.NORM_TYPE && (n.blocktype_old[r] = Pe.START_TYPE), n.blocktype_old[r] == Pe.STOP_TYPE && (n.blocktype_old[r] = Pe.SHORT_TYPE)), a[r] = n.blocktype_old[r], n.blocktype_old[r] = s[r];
+ }(e, y, l, k), c = 0; c < f; c++) {
+ var ne,
+ re,
+ ie,
+ oe = 0;
+ 1 < c ? (ne = o, oe = -2, re = Pe.NORM_TYPE, l[0] != Pe.SHORT_TYPE && l[1] != Pe.SHORT_TYPE || (re = Pe.SHORT_TYPE), ie = r[s][c - 2]) : (ne = i, oe = 0, re = l[c], ie = n[s][c]), ne[oe + c] = re == Pe.SHORT_TYPE ? ge(ie, S.masking_lower) : Se(ie, S.masking_lower), e.analysis && (S.pinfo.pe[s][c] = ne[oe + c]);
+ }
+ return 0;
+ };
+ var X = [-1.730326e-17, -.01703172, -1.349528e-17, .0418072, -6.73278e-17, -.0876324, -3.0835e-17, .1863476, -1.104424e-16, -.627638];
+ function q(e, t, a) {
+ if (0 == a) for (var s = 0; s < e.npart_s; s++) e.nb_s2[t][s] = e.nb_s1[t][s], e.nb_s1[t][s] = 0;
+ }
+ function F(e, t) {
+ for (var a = 0; a < e.npart_l; a++) e.nb_2[t][a] = e.nb_1[t][a], e.nb_1[t][a] = 0;
+ }
+ function j(e, t, a, s, n, r) {
+ var i,
+ o,
+ _,
+ l = e.internal_flags,
+ f = new float[Pe.CBANDS](),
+ c = Be(Pe.CBANDS),
+ h = new int[Pe.CBANDS]();
+ for (_ = o = 0; _ < l.npart_s; ++_) {
+ var u = 0,
+ m = 0,
+ p = l.numlines_s[_];
+ for (i = 0; i < p; ++i, ++o) {
+ var b = t[r][o];
+ u += b, m < b && (m = b);
+ }
+ a[_] = u, f[_] = m, c[_] = u / p;
+ }
+ for (; _ < Pe.CBANDS; ++_) f[_] = 0, c[_] = 0;
+ for (function (e, t, a, s) {
+ var n = ue.length - 1,
+ r = 0,
+ i = a[r] + a[r + 1];
+ for (0 < i ? ((o = t[r]) < t[r + 1] && (o = t[r + 1]), n < (_ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_s[r] + e.numlines_s[r + 1] - 1)))) && (_ = n), s[r] = _) : s[r] = 0, r = 1; r < e.npart_s - 1; r++) {
+ var o, _;
+ 0 < (i = a[r - 1] + a[r] + a[r + 1]) ? ((o = t[r - 1]) < t[r] && (o = t[r]), o < t[r + 1] && (o = t[r + 1]), n < (_ = 0 | (i = 20 * (3 * o - i) / (i * (e.numlines_s[r - 1] + e.numlines_s[r] + e.numlines_s[r + 1] - 1)))) && (_ = n), s[r] = _) : s[r] = 0;
+ }
+ 0 < (i = a[r - 1] + a[r]) ? ((o = t[r - 1]) < t[r] && (o = t[r]), n < (_ = 0 | (i = 20 * (2 * o - i) / (i * (e.numlines_s[r - 1] + e.numlines_s[r] - 1)))) && (_ = n), s[r] = _) : s[r] = 0;
+ }(l, f, c, h), o = _ = 0; _ < l.npart_s; _++) {
+ var v,
+ d,
+ g,
+ S,
+ M,
+ w = l.s3ind_s[_][0],
+ R = l.s3ind_s[_][1];
+ for (v = h[w], d = 1, S = l.s3_ss[o] * a[w] * ue[h[w]], ++o, ++w; w <= R;) v += h[w], d += 1, S = A(S, g = l.s3_ss[o] * a[w] * ue[h[w]], w - _), ++o, ++w;
+ S *= M = .5 * ue[v = (1 + 2 * v) / (2 * d)], s[_] = S, l.nb_s2[n][_] = l.nb_s1[n][_], l.nb_s1[n][_] = S, g = f[_], g *= l.minval_s[_], g *= M, s[_] > g && (s[_] = g), 1 < l.masking_lower && (s[_] *= l.masking_lower), s[_] > a[_] && (s[_] = a[_]), l.masking_lower < 1 && (s[_] *= l.masking_lower);
+ }
+ for (; _ < Pe.CBANDS; ++_) a[_] = 0, s[_] = 0;
+ }
+ function z(e, t, a, s, n) {
+ var r,
+ i = Be(Pe.CBANDS),
+ o = Be(Pe.CBANDS),
+ _ = Ae(Pe.CBANDS + 2);
+ Me(e, t, a, i, o), we(e, i, o, _);
+ var l = 0;
+ for (r = 0; r < e.npart_l; r++) {
+ var f,
+ c,
+ h,
+ u = e.s3ind[r][0],
+ m = e.s3ind[r][1],
+ p = 0,
+ b = 0;
+ for (p = _[u], b += 1, c = e.s3_ll[l] * a[u] * ue[_[u]], ++l, ++u; u <= m;) p += _[u], b += 1, c = A(c, f = e.s3_ll[l] * a[u] * ue[_[u]], u - r), ++l, ++u;
+ if (c *= h = .5 * ue[p = (1 + 2 * p) / (2 * b)], e.blocktype_old[1 & n] == Pe.SHORT_TYPE) {
+ var v = _e * e.nb_1[n][r];
+ s[r] = 0 < v ? Math.min(c, v) : Math.min(c, a[r] * fe);
+ } else {
+ var d = le * e.nb_2[n][r],
+ g = _e * e.nb_1[n][r];
+ d <= 0 && (d = c), g <= 0 && (g = c), v = e.blocktype_old[1 & n] == Pe.NORM_TYPE ? Math.min(g, d) : g, s[r] = Math.min(c, v);
+ }
+ e.nb_2[n][r] = e.nb_1[n][r], e.nb_1[n][r] = c, f = i[r], f *= e.minval_l[r], f *= h, s[r] > f && (s[r] = f), 1 < e.masking_lower && (s[r] *= e.masking_lower), s[r] > a[r] && (s[r] = a[r]), e.masking_lower < 1 && (s[r] *= e.masking_lower);
+ }
+ for (; r < Pe.CBANDS; ++r) a[r] = 0, s[r] = 0;
+ }
+ function Z(e, t, a, s, n, r, i) {
+ for (var o, _, l = 2 * r, f = 0 < r ? Math.pow(10, n) : 1, c = 0; c < i; ++c) {
+ var h = e[2][c],
+ u = e[3][c],
+ m = t[0][c],
+ p = t[1][c],
+ b = t[2][c],
+ v = t[3][c];
+ if (m <= 1.58 * p && p <= 1.58 * m) {
+ var d = a[c] * u,
+ g = a[c] * h;
+ _ = Math.max(b, Math.min(v, d)), o = Math.max(v, Math.min(b, g));
+ } else _ = b, o = v;
+ if (0 < r) {
+ var S,
+ M,
+ w = s[c] * f;
+ if (S = Math.min(Math.max(m, w), Math.max(p, w)), 0 < (M = (b = Math.max(_, w)) + (v = Math.max(o, w))) && S * l < M) {
+ var R = S * l / M;
+ b *= R, v *= R;
+ }
+ _ = Math.min(b, _), o = Math.min(v, o);
+ }
+ h < _ && (_ = h), u < o && (o = u), t[2][c] = _, t[3][c] = o;
+ }
+ }
+ function w(e, t) {
+ var a;
+ return (a = 0 <= e ? 27 * -e : e * t) <= -72 ? 0 : Math.exp(a * S);
+ }
+ function R(e) {
+ var t,
+ a,
+ s = 0;
+ for (s = 0; 1e-20 < w(s, e); s -= 1);
+ for (n = s, r = 0; 1e-12 < Math.abs(r - n);) 0 < w(s = (r + n) / 2, e) ? r = s : n = s;
+ t = n;
+ var n, r;
+ s = 0;
+ for (s = 0; 1e-20 < w(s, e); s += 1);
+ for (n = 0, r = s; 1e-12 < Math.abs(r - n);) 0 < w(s = (r + n) / 2, e) ? n = s : r = s;
+ a = r;
+ var i,
+ o = 0;
+ for (i = 0; i <= 1e3; ++i) {
+ o += w(s = t + i * (a - t) / 1e3, e);
+ }
+ return 1001 / (o * (a - t));
+ }
+ function H(e) {
return e < 0 && (e = 0), e *= .001, 13 * Math.atan(.76 * e) + 3.5 * Math.atan(e * e / 56.25);
}
- function H(e, t, a, n, s, r, i, o, _, l, f, c) {
- var u,
- h = de(Ae.CBANDS + 1),
- b = o / (15 < c ? 1152 : 384),
- p = ve(Ae.HBLKSIZE);
+ function C(e, t, a, s, n, r, i, o, _, l, f, c) {
+ var h,
+ u = Be(Pe.CBANDS + 1),
+ m = o / (15 < c ? 1152 : 384),
+ p = Ae(Pe.HBLKSIZE);
o /= _;
- var m = 0,
+ var b = 0,
v = 0;
- for (u = 0; u < Ae.CBANDS; u++) {
+ for (h = 0; h < Pe.CBANDS; h++) {
var d;
- for (x = P(o * m), h[u] = o * m, d = m; P(o * d) - x < E && d <= _ / 2; d++);
- for (e[u] = d - m, v = u + 1; m < d;) p[m++] = u;
- if (_ / 2 < m) {
- m = _ / 2, ++u;
+ for (y = H(o * b), u[h] = o * b, d = b; H(o * d) - y < E && d <= _ / 2; d++);
+ for (e[h] = d - b, v = h + 1; b < d;) p[b++] = h;
+ if (_ / 2 < b) {
+ b = _ / 2, ++h;
break;
}
}
- h[u] = o * m;
+ u[h] = o * b;
for (var g = 0; g < c; g++) {
- var w, S, M, y, A;
- M = l[g], y = l[g + 1], (w = 0 | Math.floor(.5 + f * (M - .5))) < 0 && (w = 0), S = 0 | Math.floor(.5 + f * (y - .5)), _ / 2 < S && (S = _ / 2), a[g] = (p[w] + p[S]) / 2, t[g] = p[S];
- var k = b * y;
- i[g] = (k - h[t[g]]) / (h[t[g] + 1] - h[t[g]]), i[g] < 0 ? i[g] = 0 : 1 < i[g] && (i[g] = 1), A = P(o * l[g] * f), A = Math.min(A, 15.5) / 15.5, r[g] = Math.pow(10, 1.25 * (1 - Math.cos(Math.PI * A)) - 2.5);
+ var S, M, w, R, A;
+ w = l[g], R = l[g + 1], (S = 0 | Math.floor(.5 + f * (w - .5))) < 0 && (S = 0), _ / 2 < (M = 0 | Math.floor(.5 + f * (R - .5))) && (M = _ / 2), a[g] = (p[S] + p[M]) / 2, t[g] = p[M];
+ var B = m * R;
+ i[g] = (B - u[t[g]]) / (u[t[g] + 1] - u[t[g]]), i[g] < 0 ? i[g] = 0 : 1 < i[g] && (i[g] = 1), A = H(o * l[g] * f), A = Math.min(A, 15.5) / 15.5, r[g] = Math.pow(10, 1.25 * (1 - Math.cos(Math.PI * A)) - 2.5);
}
- for (var R = m = 0; R < v; R++) {
- var x,
- B,
- T = e[R];
- x = P(o * m), B = P(o * (m + T - 1)), n[R] = .5 * (x + B), x = P(o * (m - .5)), B = P(o * (m + T - .5)), s[R] = B - x, m += T;
+ for (var k = b = 0; k < v; k++) {
+ var y,
+ T,
+ x = e[k];
+ y = H(o * b), T = H(o * (b + x - 1)), s[k] = .5 * (y + T), y = H(o * (b - .5)), T = H(o * (b + x - .5)), n[k] = T - y, b += x;
}
return v;
}
- function O(e, t, a, n, s, r) {
+ function V(e, t, a, s, n, r) {
var i,
o,
_,
l,
f,
c,
- u = ge([Ae.CBANDS, Ae.CBANDS]),
- h = 0;
- if (r) for (var b = 0; b < t; b++) for (i = 0; i < t; i++) {
- var p = (o = a[b] - a[i], c = f = l = _ = void 0, _ = o, l = .5 <= (_ *= 0 <= _ ? 3 : 1.5) && _ <= 2.5 ? 8 * ((c = _ - .5) * c - 2 * c) : 0, ((f = 15.811389 + 7.5 * (_ += .474) - 17.5 * Math.sqrt(1 + _ * _)) <= -60 ? 0 : (_ = Math.exp((l + f) * w), _ /= .6609193)) * n[i]);
- u[b][i] = p * s[b];
- } else me();
- for (var b = 0; b < t; b++) {
- for (i = 0; i < t && !(0 < u[b][i]); i++);
- for (e[b][0] = i, i = t - 1; 0 < i && !(0 < u[b][i]); i--);
- e[b][1] = i, h += e[b][1] - e[b][0] + 1;
+ h = ke([Pe.CBANDS, Pe.CBANDS]),
+ u = 0;
+ if (r) for (var m = 0; m < t; m++) for (i = 0; i < t; i++) {
+ var p = (o = a[m] - a[i], c = f = l = _ = void 0, _ = o, l = .5 <= (_ *= 0 <= _ ? 3 : 1.5) && _ <= 2.5 ? 8 * ((c = _ - .5) * c - 2 * c) : 0, ((f = 15.811389 + 7.5 * (_ += .474) - 17.5 * Math.sqrt(1 + _ * _)) <= -60 ? 0 : (_ = Math.exp((l + f) * S), _ /= .6609193)) * s[i]);
+ h[m][i] = p * n[m];
+ } else for (i = 0; i < t; i++) {
+ var b = 15 + Math.min(21 / a[i], 12),
+ v = R(b);
+ for (m = 0; m < t; m++) {
+ p = v * w(a[m] - a[i], b) * s[i];
+ h[m][i] = p * n[m];
+ }
}
- for (var m = de(h), v = 0, b = 0; b < t; b++) for (i = e[b][0]; i <= e[b][1]; i++) m[v++] = u[b][i];
- return m;
+ for (m = 0; m < t; m++) {
+ for (i = 0; i < t && !(0 < h[m][i]); i++);
+ for (e[m][0] = i, i = t - 1; 0 < i && !(0 < h[m][i]); i--);
+ e[m][1] = i, u += e[m][1] - e[m][0] + 1;
+ }
+ var d = Be(u),
+ g = 0;
+ for (m = 0; m < t; m++) for (i = e[m][0]; i <= e[m][1]; i++) d[g++] = h[m][i];
+ return d;
}
- function N(e) {
- var t = P(e);
+ function O(e) {
+ var t = H(e);
return t = Math.min(t, 15.5) / 15.5, Math.pow(10, 1.25 * (1 - Math.cos(Math.PI * t)) - 2.5);
}
- function n(e, t) {
- e < -.3 && (e = 3410), e /= 1e3, e = Math.max(.1, e);
- var a = 3.64 * Math.pow(e, -.8) - 6.8 * Math.exp(-.6 * Math.pow(e - 3.4, 2)) + 6 * Math.exp(-.15 * Math.pow(e - 8.7, 2)) + .001 * (.6 + .04 * t) * Math.pow(e, 4);
- return a;
+ function s(e, t) {
+ return e < -.3 && (e = 3410), e /= 1e3, e = Math.max(.1, e), 3.64 * Math.pow(e, -.8) - 6.8 * Math.exp(-.6 * Math.pow(e - 3.4, 2)) + 6 * Math.exp(-.15 * Math.pow(e - 8.7, 2)) + .001 * (.6 + .04 * t) * Math.pow(e, 4);
}
- this.L3psycho_anal_ns = function (e, t, a, n, s, r, i, o, _, l) {
+ this.L3psycho_anal_vbr = function (e, t, a, s, n, r, i, o, _, l) {
var f,
c,
- u,
h,
- b,
- p,
+ u,
m,
- v,
- d,
- g = e.internal_flags,
- w = ge([2, Ae.BLKSIZE]),
- S = ge([2, 3, Ae.BLKSIZE_s]),
- M = de(Ae.CBANDS + 1),
- y = de(Ae.CBANDS + 1),
- A = de(Ae.CBANDS + 2),
- k = ve(2),
- R = ve(2),
- x = ge([2, 576]),
- B = ve(Ae.CBANDS + 2),
- T = ve(Ae.CBANDS + 2);
- for (we.fill(T, 0), f = g.channels_out, e.mode == ye.JOINT_STEREO && (f = 4), d = e.VBR == Me.vbr_off ? 0 == g.ResvMax ? 0 : g.ResvSize / g.ResvMax * .5 : e.VBR == Me.vbr_rh || e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt ? .6 : 1, c = 0; c < g.channels_out; c++) {
- var E = t[c],
- C = a + 576 - 350 - 21 + 192;
- for (h = 0; h < 576; h++) {
- var I, L;
- for (I = E[C + h + 10], b = L = 0; b < 9; b += 2) I += pe[b] * (E[C + h + b] + E[C + h + 21 - b]), L += pe[b + 1] * (E[C + h + b + 1] + E[C + h + 21 - b - 1]);
- x[c][h] = I + L;
- }
- s[n][c].en.assign(g.en[c]), s[n][c].thm.assign(g.thm[c]), 2 < f && me();
- }
- for (c = 0; c < f; c++) {
- var P,
- H = de(12),
- O = [0, 0, 0, 0],
- N = de(12),
- V = 1,
- D = de(Ae.CBANDS),
- F = de(Ae.CBANDS),
- j = [0, 0, 0, 0],
- X = de(Ae.HBLKSIZE),
- Y = ge([3, Ae.HBLKSIZE_s]);
- for (h = 0; h < 3; h++) H[h] = g.nsPsy.last_en_subshort[c][h + 6], N[h] = H[h] / g.nsPsy.last_en_subshort[c][h + 4], O[0] += H[h];
- 2 == c && me();
- var z = x[1 & c],
- q = 0;
- for (h = 0; h < 9; h++) {
- for (var G = q + 64, U = 1; q < G; q++) U < Math.abs(z[q]) && (U = Math.abs(z[q]));
- g.nsPsy.last_en_subshort[c][h] = H[h + 3] = U, O[1 + h / 3] += U, U > H[h + 3 - 2] ? U /= H[h + 3 - 2] : U = H[h + 3 - 2] > 10 * U ? H[h + 3 - 2] / (10 * U) : 0, N[h + 3] = U;
- }
- for (e.analysis && me(), P = 3 == c ? g.nsPsy.attackthre_s : g.nsPsy.attackthre, h = 0; h < 12; h++) 0 == j[h / 3] && N[h] > P && (j[h / 3] = h % 3 + 1);
- for (h = 1; h < 4; h++) (O[h - 1] > O[h] ? O[h - 1] / O[h] : O[h] / O[h - 1]) < 1.7 && (j[h] = 0, 1 == h && (j[0] = 0));
- for (0 != j[0] && 0 != g.nsPsy.lastAttacks[c] && (j[0] = 0), 3 != g.nsPsy.lastAttacks[c] && j[0] + j[1] + j[2] + j[3] == 0 || ((V = 0) != j[1] && 0 != j[0] && (j[1] = 0), 0 != j[2] && 0 != j[1] && (j[2] = 0), 0 != j[3] && 0 != j[2] && (j[3] = 0)), c < 2 ? R[c] = V : me(), _[c] = g.tot_ener[c], se(e, X, Y, w, 1 & c, S, 1 & c, n, c, t, a), he(g, X, M, D, F), be(g, D, F, B), v = 0; v < 3; v++) {
- var K, Z;
- for (le(e, Y, y, A, c, v), oe(g, y, A, c, v), m = 0; m < Ae.SBMAX_s; m++) {
- if (Z = g.thm[c].s[m][v], Z *= .8, 2 <= j[v] || 1 == j[v + 1]) {
- var W = 0 != v ? v - 1 : 2,
- U = fe(g.thm[c].s[m][W], Z, .6 * d);
- Z = Math.min(Z, U);
- }
- if (1 == j[v]) {
- var W = 0 != v ? v - 1 : 2,
- U = fe(g.thm[c].s[m][W], Z, .3 * d);
- Z = Math.min(Z, U);
- } else if (0 != v && 3 == j[v - 1] || 0 == v && 3 == g.nsPsy.lastAttacks[c]) {
- var W = 2 != v ? v + 1 : 0,
- U = fe(g.thm[c].s[m][W], Z, .3 * d);
- Z = Math.min(Z, U);
- }
- K = H[3 * v + 3] + H[3 * v + 4] + H[3 * v + 5], 6 * H[3 * v + 5] < K && (Z *= .5, 6 * H[3 * v + 4] < K && (Z *= .5)), g.thm[c].s[m][v] = Z;
+ p = e.internal_flags,
+ b = Be(Pe.HBLKSIZE),
+ v = ke([3, Pe.HBLKSIZE_s]),
+ d = ke([2, Pe.BLKSIZE]),
+ g = ke([2, 3, Pe.BLKSIZE_s]),
+ S = ke([4, Pe.CBANDS]),
+ M = ke([4, Pe.CBANDS]),
+ w = ke([4, 3]),
+ R = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]],
+ A = Ae(2),
+ B = e.mode == Ee.JOINT_STEREO ? 4 : p.channels_out;
+ !function (e, t, a, s, n, r, i, o, _, l) {
+ for (var f = ke([2, 576]), c = e.internal_flags, h = c.channels_out, u = e.mode == Ee.JOINT_STEREO ? 4 : h, m = 0; m < h; m++) {
+ firbuf = t[m];
+ for (var p = a + 576 - 350 - ce + 192, b = 0; b < 576; b++) {
+ var v, d;
+ v = firbuf[p + b + 10];
+ for (var g = d = 0; g < (ce - 1) / 2 - 1; g += 2) v += X[g] * (firbuf[p + b + g] + firbuf[p + b + ce - g]), d += X[g + 1] * (firbuf[p + b + g + 1] + firbuf[p + b + ce - g - 1]);
+ f[m][b] = v + d;
}
+ n[s][m].en.assign(c.en[m]), n[s][m].thm.assign(c.thm[m]), 2 < u && (r[s][m].en.assign(c.en[m + 2]), r[s][m].thm.assign(c.thm[m + 2]));
}
- for (g.nsPsy.lastAttacks[c] = j[2], u = p = 0; u < g.npart_l; u++) {
- for (var Q = g.s3ind[u][0], $ = M[Q] * re[B[Q]], J = g.s3_ll[p++] * $; ++Q <= g.s3ind[u][1];) $ = M[Q] * re[B[Q]], J = ie(J, g.s3_ll[p++] * $, Q, Q - u, g, 0);
- J *= .158489319246111, g.blocktype_old[1 & c] == Ae.SHORT_TYPE ? A[u] = J : A[u] = fe(Math.min(J, Math.min(2 * g.nb_1[c][u], 16 * g.nb_2[c][u])), J, d), g.nb_2[c][u] = g.nb_1[c][u], g.nb_1[c][u] = J;
+ for (m = 0; m < u; m++) {
+ var S = Be(12),
+ M = Be(12),
+ w = [0, 0, 0, 0],
+ R = f[1 & m],
+ A = 0,
+ B = 3 == m ? c.nsPsy.attackthre_s : c.nsPsy.attackthre,
+ k = 1;
+ if (2 == m) for (b = 0, g = 576; 0 < g; ++b, --g) {
+ var y = f[0][b],
+ T = f[1][b];
+ f[0][b] = y + T, f[1][b] = y - T;
+ }
+ for (b = 0; b < 3; b++) M[b] = c.nsPsy.last_en_subshort[m][b + 6], S[b] = M[b] / c.nsPsy.last_en_subshort[m][b + 4], w[0] += M[b];
+ for (b = 0; b < 9; b++) {
+ for (var x = A + 64, E = 1; A < x; A++) E < Math.abs(R[A]) && (E = Math.abs(R[A]));
+ c.nsPsy.last_en_subshort[m][b] = M[b + 3] = E, w[1 + b / 3] += E, E > M[b + 3 - 2] ? E /= M[b + 3 - 2] : E = M[b + 3 - 2] > 10 * E ? M[b + 3 - 2] / (10 * E) : 0, S[b + 3] = E;
+ }
+ for (b = 0; b < 3; ++b) {
+ var P = M[3 * b + 3] + M[3 * b + 4] + M[3 * b + 5],
+ L = 1;
+ 6 * M[3 * b + 5] < P && (L *= .5, 6 * M[3 * b + 4] < P && (L *= .5)), o[m][b] = L;
+ }
+ if (e.analysis) {
+ var I = S[0];
+ for (b = 1; b < 12; b++) I < S[b] && (I = S[b]);
+ c.pinfo.ers[s][m] = c.pinfo.ers_save[m], c.pinfo.ers_save[m] = I;
+ }
+ for (b = 0; b < 12; b++) 0 == _[m][b / 3] && S[b] > B && (_[m][b / 3] = b % 3 + 1);
+ for (b = 1; b < 4; b++) {
+ var H = w[b - 1],
+ C = w[b];
+ Math.max(H, C) < 4e4 && H < 1.7 * C && C < 1.7 * H && (1 == b && _[m][0] <= _[m][b] && (_[m][0] = 0), _[m][b] = 0);
+ }
+ _[m][0] <= c.nsPsy.lastAttacks[m] && (_[m][0] = 0), 3 != c.nsPsy.lastAttacks[m] && _[m][0] + _[m][1] + _[m][2] + _[m][3] == 0 || ((k = 0) != _[m][1] && 0 != _[m][0] && (_[m][1] = 0), 0 != _[m][2] && 0 != _[m][1] && (_[m][2] = 0), 0 != _[m][3] && 0 != _[m][2] && (_[m][3] = 0)), m < 2 ? l[m] = k : 0 == k && (l[0] = l[1] = 0), i[m] = c.tot_ener[m];
}
- for (; u <= Ae.CBANDS; ++u) M[u] = 0, A[u] = 0;
- _e(g, M, A, c);
+ }(e, t, a, s, n, r, _, w, R, A), function (e, t) {
+ var a = e.internal_flags;
+ e.short_blocks != Te.short_block_coupled || 0 != t[0] && 0 != t[1] || (t[0] = t[1] = 0);
+ for (var s = 0; s < a.channels_out; s++) e.short_blocks == Te.short_block_dispensed && (t[s] = 1), e.short_blocks == Te.short_block_forced && (t[s] = 0);
+ }(e, A);
+ for (var k = 0; k < B; k++) {
+ D(e, t, a, k, s, b, d, T = 1 & k), c = s, h = k, u = b, m = void 0, m = (f = e).internal_flags, 2 == f.athaa_loudapprox && h < 2 && (m.loudness_sq[c][h] = m.loudness_sq_save[h], m.loudness_sq_save[h] = N(u, m)), 0 != A[T] ? z(p, b, S[k], M[k], k) : F(p, k);
}
- for (e.mode != ye.STEREO && e.mode != ye.JOINT_STEREO || me(), e.mode == ye.JOINT_STEREO && me(), function (e, t, a, n) {
- var s = e.internal_flags;
- e.short_blocks != Se.short_block_coupled || 0 != t[0] && 0 != t[1] || (t[0] = t[1] = 0);
- for (var r = 0; r < s.channels_out; r++) n[r] = Ae.NORM_TYPE, e.short_blocks == Se.short_block_dispensed && (t[r] = 1), e.short_blocks == Se.short_block_forced && (t[r] = 0), 0 != t[r] ? s.blocktype_old[r] == Ae.SHORT_TYPE && (n[r] = Ae.STOP_TYPE) : (n[r] = Ae.SHORT_TYPE, s.blocktype_old[r] == Ae.NORM_TYPE && (s.blocktype_old[r] = Ae.START_TYPE), s.blocktype_old[r] == Ae.STOP_TYPE && (s.blocktype_old[r] = Ae.SHORT_TYPE)), a[r] = s.blocktype_old[r], s.blocktype_old[r] = n[r];
- }(e, R, l, k), c = 0; c < f; c++) {
- var ee,
- te,
- ae,
- ne = 0;
- 1 < c ? me() : (ee = i, ne = 0, te = l[c], ae = s[n][c]), ee[ne + c] = te == Ae.SHORT_TYPE ? ce(ae, g.masking_lower) : ue(ae, g.masking_lower), e.analysis && (g.pinfo.pe[n][c] = ee[ne + c]);
+ A[0] + A[1] == 2 && e.mode == Ee.JOINT_STEREO && Z(S, M, p.mld_cb_l, p.ATH.cb_l, e.ATHlower * p.ATH.adjust, e.msfix, p.npart_l);
+ for (k = 0; k < B; k++) {
+ 0 != A[T = 1 & k] && be(p, S[k], M[k], k);
+ }
+ for (var y = 0; y < 3; y++) {
+ for (k = 0; k < B; ++k) {
+ 0 != A[T = 1 & k] ? q(p, k, y) : (Y(e, t, a, k, y, v, g, T), j(e, v, S[k], M[k], k, y));
+ }
+ A[0] + A[1] == 0 && e.mode == Ee.JOINT_STEREO && Z(S, M, p.mld_cb_s, p.ATH.cb_s, e.ATHlower * p.ATH.adjust, e.msfix, p.npart_s);
+ for (k = 0; k < B; ++k) {
+ 0 == A[T = 1 & k] && pe(p, S[k], M[k], k, y);
+ }
+ }
+ for (k = 0; k < B; k++) {
+ var T;
+ if (0 == A[T = 1 & k]) for (var x = 0; x < Pe.SBMAX_s; x++) {
+ var E = Be(3);
+ for (y = 0; y < 3; y++) {
+ var P = p.thm[k].s[x][y];
+ if (P *= .8, 2 <= R[k][y] || 1 == R[k][y + 1]) {
+ var L = 0 != y ? y - 1 : 2,
+ I = de(p.thm[k].s[x][L], P, .36);
+ P = Math.min(P, I);
+ } else if (1 == R[k][y]) {
+ L = 0 != y ? y - 1 : 2, I = de(p.thm[k].s[x][L], P, .6 * fe);
+ P = Math.min(P, I);
+ } else if (0 != y && 3 == R[k][y - 1] || 0 == y && 3 == p.nsPsy.lastAttacks[k]) {
+ L = 2 != y ? y + 1 : 0, I = de(p.thm[k].s[x][L], P, .6 * fe);
+ P = Math.min(P, I);
+ }
+ P *= w[k][y], E[y] = P;
+ }
+ for (y = 0; y < 3; y++) p.thm[k].s[x][y] = E[y];
+ }
+ }
+ for (k = 0; k < B; k++) p.nsPsy.lastAttacks[k] = R[k][2];
+ !function (e, t, a) {
+ for (var s = e.internal_flags, n = 0; n < s.channels_out; n++) {
+ var r = Pe.NORM_TYPE;
+ 0 != t[n] ? s.blocktype_old[n] == Pe.SHORT_TYPE && (r = Pe.STOP_TYPE) : (r = Pe.SHORT_TYPE, s.blocktype_old[n] == Pe.NORM_TYPE && (s.blocktype_old[n] = Pe.START_TYPE), s.blocktype_old[n] == Pe.STOP_TYPE && (s.blocktype_old[n] = Pe.SHORT_TYPE)), a[n] = s.blocktype_old[n], s.blocktype_old[n] = r;
+ }
+ }(e, A, l);
+ for (k = 0; k < B; k++) {
+ var H, C, V, O;
+ 1 < k ? (H = o, C = -2, V = Pe.NORM_TYPE, l[0] != Pe.SHORT_TYPE && l[1] != Pe.SHORT_TYPE || (V = Pe.SHORT_TYPE), O = r[s][k - 2]) : (H = i, C = 0, V = l[k], O = n[s][k]), H[C + k] = V == Pe.SHORT_TYPE ? ge(O, p.masking_lower) : Se(O, p.masking_lower), e.analysis && (p.pinfo.pe[s][k] = H[C + k]);
}
return 0;
}, this.psymodel_init = function (e) {
var t,
a = e.internal_flags,
- n = !0,
- s = 13,
+ s = !0,
+ n = 13,
r = 0,
i = 0,
o = -8.25,
_ = -4.5,
- l = de(Ae.CBANDS),
- f = de(Ae.CBANDS),
- c = de(Ae.CBANDS),
- u = e.out_samplerate;
+ l = Be(Pe.CBANDS),
+ f = Be(Pe.CBANDS),
+ c = Be(Pe.CBANDS),
+ h = e.out_samplerate;
switch (e.experimentalZ) {
default:
case 0:
- n = !0;
+ s = !0;
break;
case 1:
- n = e.VBR != Me.vbr_mtrh && e.VBR != Me.vbr_mt;
+ s = e.VBR != xe.vbr_mtrh && e.VBR != xe.vbr_mt;
break;
case 2:
- n = !1;
+ s = !1;
break;
case 3:
- s = 8, r = -1.75, i = -.0125, o = -8.25, _ = -2.25;
+ n = 8, r = -1.75, i = -.0125, o = -8.25, _ = -2.25;
}
- for (a.ms_ener_ratio_old = .25, a.blocktype_old[0] = a.blocktype_old[1] = Ae.NORM_TYPE, t = 0; t < 4; ++t) {
- for (var h = 0; h < Ae.CBANDS; ++h) a.nb_1[t][h] = 1e20, a.nb_2[t][h] = 1e20, a.nb_s1[t][h] = a.nb_s2[t][h] = 1;
- for (var b = 0; b < Ae.SBMAX_l; b++) a.en[t].l[b] = 1e20, a.thm[t].l[b] = 1e20;
- for (var h = 0; h < 3; ++h) {
- for (var b = 0; b < Ae.SBMAX_s; b++) a.en[t].s[b][h] = 1e20, a.thm[t].s[b][h] = 1e20;
+ for (a.ms_ener_ratio_old = .25, a.blocktype_old[0] = a.blocktype_old[1] = Pe.NORM_TYPE, t = 0; t < 4; ++t) {
+ for (var u = 0; u < Pe.CBANDS; ++u) a.nb_1[t][u] = 1e20, a.nb_2[t][u] = 1e20, a.nb_s1[t][u] = a.nb_s2[t][u] = 1;
+ for (var m = 0; m < Pe.SBMAX_l; m++) a.en[t].l[m] = 1e20, a.thm[t].l[m] = 1e20;
+ for (u = 0; u < 3; ++u) {
+ for (m = 0; m < Pe.SBMAX_s; m++) a.en[t].s[m][u] = 1e20, a.thm[t].s[m][u] = 1e20;
a.nsPsy.lastAttacks[t] = 0;
}
- for (var h = 0; h < 9; h++) a.nsPsy.last_en_subshort[t][h] = 10;
+ for (u = 0; u < 9; u++) a.nsPsy.last_en_subshort[t][u] = 10;
}
- for (a.loudness_sq_save[0] = a.loudness_sq_save[1] = 0, a.npart_l = H(a.numlines_l, a.bo_l, a.bm_l, l, f, a.mld_l, a.PSY.bo_l_weight, u, Ae.BLKSIZE, a.scalefac_band.l, Ae.BLKSIZE / 1152, Ae.SBMAX_l), t = 0; t < a.npart_l; t++) {
+ for (a.loudness_sq_save[0] = a.loudness_sq_save[1] = 0, a.npart_l = C(a.numlines_l, a.bo_l, a.bm_l, l, f, a.mld_l, a.PSY.bo_l_weight, h, Pe.BLKSIZE, a.scalefac_band.l, Pe.BLKSIZE / 1152, Pe.SBMAX_l), t = 0; t < a.npart_l; t++) {
var p = r;
- l[t] >= s && (p = i * (l[t] - s) / (24 - s) + r * (24 - l[t]) / (24 - s)), c[t] = Math.pow(10, p / 10), 0 < a.numlines_l[t] ? a.rnumlines_l[t] = 1 / a.numlines_l[t] : a.rnumlines_l[t] = 0;
+ l[t] >= n && (p = i * (l[t] - n) / (24 - n) + r * (24 - l[t]) / (24 - n)), c[t] = Math.pow(10, p / 10), 0 < a.numlines_l[t] ? a.rnumlines_l[t] = 1 / a.numlines_l[t] : a.rnumlines_l[t] = 0;
}
- a.s3_ll = O(a.s3ind, a.npart_l, l, f, c, n);
- var m,
- h = 0;
+ a.s3_ll = V(a.s3ind, a.npart_l, l, f, c, s);
+ var b;
+ u = 0;
for (t = 0; t < a.npart_l; t++) {
- g = D.MAX_VALUE;
- for (var v = 0; v < a.numlines_l[t]; v++, h++) {
- var d = u * h / (1e3 * Ae.BLKSIZE);
- w = this.ATHformula(1e3 * d, e) - 20, w = Math.pow(10, .1 * w), (w *= a.numlines_l[t]) < g && (g = w);
+ g = K.MAX_VALUE;
+ for (var v = 0; v < a.numlines_l[t]; v++, u++) {
+ var d = h * u / (1e3 * Pe.BLKSIZE);
+ S = this.ATHformula(1e3 * d, e) - 20, S = Math.pow(10, .1 * S), (S *= a.numlines_l[t]) < g && (g = S);
}
a.ATH.cb_l[t] = g, 6 < (g = 20 * l[t] / 10 - 20) && (g = 100), g < -15 && (g = -15), g -= 8, a.minval_l[t] = Math.pow(10, g / 10) * a.numlines_l[t];
}
- for (a.npart_s = H(a.numlines_s, a.bo_s, a.bm_s, l, f, a.mld_s, a.PSY.bo_s_weight, u, Ae.BLKSIZE_s, a.scalefac_band.s, Ae.BLKSIZE_s / 384, Ae.SBMAX_s), t = h = 0; t < a.npart_s; t++) {
- var g,
- p = o;
- l[t] >= s && (p = _ * (l[t] - s) / (24 - s) + o * (24 - l[t]) / (24 - s)), c[t] = Math.pow(10, p / 10), g = D.MAX_VALUE;
- for (var v = 0; v < a.numlines_s[t]; v++, h++) {
- var w,
- d = u * h / (1e3 * Ae.BLKSIZE_s);
- w = this.ATHformula(1e3 * d, e) - 20, w = Math.pow(10, .1 * w), (w *= a.numlines_s[t]) < g && (g = w);
+ for (a.npart_s = C(a.numlines_s, a.bo_s, a.bm_s, l, f, a.mld_s, a.PSY.bo_s_weight, h, Pe.BLKSIZE_s, a.scalefac_band.s, Pe.BLKSIZE_s / 384, Pe.SBMAX_s), t = u = 0; t < a.npart_s; t++) {
+ var g;
+ p = o;
+ l[t] >= n && (p = _ * (l[t] - n) / (24 - n) + o * (24 - l[t]) / (24 - n)), c[t] = Math.pow(10, p / 10), g = K.MAX_VALUE;
+ for (v = 0; v < a.numlines_s[t]; v++, u++) {
+ var S;
+ d = h * u / (1e3 * Pe.BLKSIZE_s);
+ S = this.ATHformula(1e3 * d, e) - 20, S = Math.pow(10, .1 * S), (S *= a.numlines_s[t]) < g && (g = S);
}
a.ATH.cb_s[t] = g, g = 7 * l[t] / 12 - 7, 12 < l[t] && (g *= 1 + 3.1 * Math.log(1 + g)), l[t] < 12 && (g *= 1 + 2.3 * Math.log(1 - g)), g < -15 && (g = -15), g -= 8, a.minval_s[t] = Math.pow(10, g / 10) * a.numlines_s[t];
}
- a.s3_ss = O(a.s3ind_s, a.npart_s, l, f, c, n), x = Math.pow(10, (C + 1) / 16), B = Math.pow(10, (I + 1) / 16), T = Math.pow(10, L / 10), k.init_fft(a), a.decay = Math.exp(-1 * R / (.01 * u / 192)), m = 3.5, 0 != (2 & e.exp_nspsytune) && (m = 1), 0 < Math.abs(e.msfix) && (m = e.msfix), e.msfix = m;
- for (var S = 0; S < a.npart_l; S++) a.s3ind[S][1] > a.npart_l - 1 && (a.s3ind[S][1] = a.npart_l - 1);
- var M = 576 * a.mode_gr / u;
- if (a.ATH.decay = Math.pow(10, -1.2 * M), a.ATH.adjust = .01, -(a.ATH.adjustLimit = 1) != e.ATHtype) {
- var y = e.out_samplerate / Ae.BLKSIZE,
+ a.s3_ss = V(a.s3ind_s, a.npart_s, l, f, c, s), y = Math.pow(10, (P + 1) / 16), T = Math.pow(10, (L + 1) / 16), x = Math.pow(10, I / 10), B.init_fft(a), a.decay = Math.exp(-1 * k / (.01 * h / 192)), b = 3.5, 0 != (2 & e.exp_nspsytune) && (b = 1), 0 < Math.abs(e.msfix) && (b = e.msfix), e.msfix = b;
+ for (var M = 0; M < a.npart_l; M++) a.s3ind[M][1] > a.npart_l - 1 && (a.s3ind[M][1] = a.npart_l - 1);
+ var w = 576 * a.mode_gr / h;
+ if (a.ATH.decay = Math.pow(10, -1.2 * w), a.ATH.adjust = .01, -(a.ATH.adjustLimit = 1) != e.ATHtype) {
+ var R = e.out_samplerate / Pe.BLKSIZE,
A = 0;
- for (t = d = 0; t < Ae.BLKSIZE / 2; ++t) d += y, a.ATH.eql_w[t] = 1 / Math.pow(10, this.ATHformula(d, e) / 10), A += a.ATH.eql_w[t];
- for (A = 1 / A, t = Ae.BLKSIZE / 2; 0 <= --t;) a.ATH.eql_w[t] *= A;
+ for (t = d = 0; t < Pe.BLKSIZE / 2; ++t) d += R, a.ATH.eql_w[t] = 1 / Math.pow(10, this.ATHformula(d, e) / 10), A += a.ATH.eql_w[t];
+ for (A = 1 / A, t = Pe.BLKSIZE / 2; 0 <= --t;) a.ATH.eql_w[t] *= A;
}
- for (var S = h = 0; S < a.npart_s; ++S) for (t = 0; t < a.numlines_s[S]; ++t) ++h;
- for (var S = h = 0; S < a.npart_l; ++S) for (t = 0; t < a.numlines_l[S]; ++t) ++h;
- for (t = h = 0; t < a.npart_l; t++) {
- var d = u * (h + a.numlines_l[t] / 2) / (1 * Ae.BLKSIZE);
- a.mld_cb_l[t] = N(d), h += a.numlines_l[t];
+ for (M = u = 0; M < a.npart_s; ++M) for (t = 0; t < a.numlines_s[M]; ++t) ++u;
+ for (M = u = 0; M < a.npart_l; ++M) for (t = 0; t < a.numlines_l[M]; ++t) ++u;
+ for (t = u = 0; t < a.npart_l; t++) {
+ d = h * (u + a.numlines_l[t] / 2) / (1 * Pe.BLKSIZE);
+ a.mld_cb_l[t] = O(d), u += a.numlines_l[t];
}
- for (; t < Ae.CBANDS; ++t) a.mld_cb_l[t] = 1;
- for (t = h = 0; t < a.npart_s; t++) {
- var d = u * (h + a.numlines_s[t] / 2) / (1 * Ae.BLKSIZE_s);
- a.mld_cb_s[t] = N(d), h += a.numlines_s[t];
+ for (; t < Pe.CBANDS; ++t) a.mld_cb_l[t] = 1;
+ for (t = u = 0; t < a.npart_s; t++) {
+ d = h * (u + a.numlines_s[t] / 2) / (1 * Pe.BLKSIZE_s);
+ a.mld_cb_s[t] = O(d), u += a.numlines_s[t];
}
- for (; t < Ae.CBANDS; ++t) a.mld_cb_s[t] = 1;
+ for (; t < Pe.CBANDS; ++t) a.mld_cb_s[t] = 1;
return 0;
}, this.ATHformula = function (e, t) {
var a;
switch (t.ATHtype) {
case 0:
- a = n(e, 9);
+ a = s(e, 9);
break;
case 1:
- a = n(e, -1);
+ a = s(e, -1);
break;
case 2:
- a = n(e, 0);
+ a = s(e, 0);
break;
case 3:
- a = n(e, 1) + 6;
+ a = s(e, 1) + 6;
break;
case 4:
- a = n(e, t.ATHcurve);
+ a = s(e, t.ATHcurve);
break;
default:
- a = n(e, 0);
+ a = s(e, 0);
}
return a;
};
}
- function Y() {
- var T,
- E,
- u,
- h,
- b,
- C = this;
- Y.V9 = 410, Y.V8 = 420, Y.V7 = 430, Y.V6 = 440, Y.V5 = 450, Y.V4 = 460, Y.V3 = 470, Y.V2 = 480, Y.V1 = 490, Y.V0 = 500, Y.R3MIX = 1e3, Y.STANDARD = 1001, Y.EXTREME = 1002, Y.INSANE = 1003, Y.STANDARD_FAST = 1004, Y.EXTREME_FAST = 1005, Y.MEDIUM = 1006, Y.MEDIUM_FAST = 1007, Y.LAME_MAXMP3BUFFER = 147456;
- var p,
- m,
- v = new X();
- function d() {
+ function U() {
+ var o = this;
+ U.V9 = 410, U.V8 = 420, U.V7 = 430, U.V6 = 440, U.V5 = 450, U.V4 = 460, U.V3 = 470, U.V2 = 480, U.V1 = 490, U.V0 = 500, U.R3MIX = 1e3, U.STANDARD = 1001, U.EXTREME = 1002, U.INSANE = 1003, U.STANDARD_FAST = 1004, U.EXTREME_FAST = 1005, U.MEDIUM = 1006, U.MEDIUM_FAST = 1007;
+ var w, R, g, S, M;
+ U.LAME_MAXMP3BUFFER = 147456;
+ var A,
+ B,
+ k,
+ y = new G();
+ function T() {
this.lowerlimit = 0;
}
- function s(e, t) {
+ function n(e, t) {
this.lowpass = t;
}
- this.enc = new Ae(), this.setModules = function (e, t, a, n, s, r, i, o, _) {
- T = e, E = t, u = a, h = n, b = s, p = r, m = o, this.enc.setModules(E, v, h, p);
+ this.enc = new Pe(), this.setModules = function (e, t, a, s, n, r, i, o, _) {
+ w = e, R = t, g = a, S = s, M = n, A = r, B = o, k = _, this.enc.setModules(R, y, S, A);
};
- var I = 4294479419;
- function g(e, t) {
- var a = [new s(8, 2e3), new s(16, 3700), new s(24, 3900), new s(32, 5500), new s(40, 7e3), new s(48, 7500), new s(56, 1e4), new s(64, 11e3), new s(80, 13500), new s(96, 15100), new s(112, 15600), new s(128, 17e3), new s(160, 17500), new s(192, 18600), new s(224, 19400), new s(256, 19700), new s(320, 20500)],
- n = C.nearestBitrateFullIndex(t);
- e.lowerlimit = a[n].lowpass;
+ var x = 4294479419;
+ function E(e) {
+ return 1 < e ? 0 : e <= 0 ? 1 : Math.cos(Math.PI / 2 * e);
}
- function L(e) {
- var t = Ae.BLKSIZE + e.framesize - Ae.FFTOFFSET;
+ function P(e, t) {
+ switch (e) {
+ case 44100:
+ return t.version = 1, 0;
+ case 48e3:
+ return t.version = 1;
+ case 32e3:
+ return t.version = 1, 2;
+ case 22050:
+ return t.version = 0;
+ case 24e3:
+ return t.version = 0, 1;
+ case 16e3:
+ return t.version = 0, 2;
+ case 11025:
+ return t.version = 0;
+ case 12e3:
+ return t.version = 0, 1;
+ case 8e3:
+ return t.version = 0, 2;
+ default:
+ return t.version = 0, -1;
+ }
+ }
+ function L(e, t, a) {
+ a < 16e3 && (t = 2);
+ for (var s = F.bitrate_table[t][1], n = 2; n <= 14; n++) 0 < F.bitrate_table[t][n] && Math.abs(F.bitrate_table[t][n] - e) < Math.abs(s - e) && (s = F.bitrate_table[t][n]);
+ return s;
+ }
+ function I(e, t, a) {
+ a < 16e3 && (t = 2);
+ for (var s = 0; s <= 14; s++) if (0 < F.bitrate_table[t][s] && F.bitrate_table[t][s] == e) return s;
+ return -1;
+ }
+ function H(e, t) {
+ var a = [new n(8, 2e3), new n(16, 3700), new n(24, 3900), new n(32, 5500), new n(40, 7e3), new n(48, 7500), new n(56, 1e4), new n(64, 11e3), new n(80, 13500), new n(96, 15100), new n(112, 15600), new n(128, 17e3), new n(160, 17500), new n(192, 18600), new n(224, 19400), new n(256, 19700), new n(320, 20500)],
+ s = o.nearestBitrateFullIndex(t);
+ e.lowerlimit = a[s].lowpass;
+ }
+ function C(e) {
+ var t = Pe.BLKSIZE + e.framesize - Pe.FFTOFFSET;
return t = Math.max(t, 512 + e.framesize - 32);
}
- function P() {
+ function V(e, t, a, s, n, r) {
+ var i = o.enc.lame_encode_mp3_frame(e, t, a, s, n, r);
+ return e.frameNum++, i;
+ }
+ function O() {
this.n_in = 0, this.n_out = 0;
}
- function H(e, t, a, n, s, r) {
+ function f() {
+ this.num_used = 0;
+ }
+ function N(e, t, a) {
+ var s = Math.PI * t;
+ (e /= a) < 0 && (e = 0), 1 < e && (e = 1);
+ var n = e - .5,
+ r = .42 - .5 * Math.cos(2 * e * Math.PI) + .08 * Math.cos(4 * e * Math.PI);
+ return Math.abs(n) < 1e-9 ? s / Math.PI : r * Math.sin(a * s * n) / (Math.PI * a * n);
+ }
+ function c(e, t, a, s, n, r, i, o, _) {
+ var l,
+ f,
+ c = e.internal_flags,
+ h = 0,
+ u = e.out_samplerate / function e(t, a) {
+ return 0 != a ? e(a, t % a) : t;
+ }(e.out_samplerate, e.in_samplerate);
+ Z.BPC < u && (u = Z.BPC);
+ var m = Math.abs(c.resample_ratio - Math.floor(.5 + c.resample_ratio)) < 1e-4 ? 1 : 0,
+ p = 1 / c.resample_ratio;
+ 1 < p && (p = 1);
+ var b = 31;
+ 0 == b % 2 && --b;
+ var v = (b += m) + 1;
+ if (0 == c.fill_buffer_resample_init) {
+ for (c.inbuf_old[0] = Be(v), c.inbuf_old[1] = Be(v), l = 0; l <= 2 * u; ++l) c.blackfilt[l] = Be(v);
+ for (c.itime[0] = 0, h = c.itime[1] = 0; h <= 2 * u; h++) {
+ var d = 0,
+ g = (h - u) / (2 * u);
+ for (l = 0; l <= b; l++) d += c.blackfilt[h][l] = N(l - g, p, b);
+ for (l = 0; l <= b; l++) c.blackfilt[h][l] /= d;
+ }
+ c.fill_buffer_resample_init = 1;
+ }
+ var S = c.inbuf_old[_];
+ for (f = 0; f < s; f++) {
+ var M, w;
+ if (M = f * c.resample_ratio, i <= b + (h = 0 | Math.floor(M - c.itime[_])) - b / 2) break;
+ g = M - c.itime[_] - (h + b % 2 * .5);
+ w = 0 | Math.floor(2 * g * u + u + .5);
+ var R = 0;
+ for (l = 0; l <= b; ++l) {
+ var A = l + h - b / 2;
+ R += (A < 0 ? S[v + A] : n[r + A]) * c.blackfilt[w][l];
+ }
+ t[a + f] = R;
+ }
+ if (o.num_used = Math.min(i, b + h - b / 2), c.itime[_] += o.num_used - f * c.resample_ratio, o.num_used >= v) for (l = 0; l < v; l++) S[l] = n[r + o.num_used + l - v];else {
+ var B = v - o.num_used;
+ for (l = 0; l < B; ++l) S[l] = S[l + o.num_used];
+ for (h = 0; l < v; ++l, ++h) S[l] = n[r + h];
+ }
+ return f;
+ }
+ function D(e, t, a, s, n, r) {
var i = e.internal_flags;
- if (i.resample_ratio < .9999 || 1.0001 < i.resample_ratio) me();else {
- r.n_out = Math.min(e.framesize, s), r.n_in = r.n_out;
- for (var o = 0; o < r.n_out; ++o) t[0][i.mf_size + o] = a[0][n + o], 2 == i.channels_out && (t[1][i.mf_size + o] = a[1][n + o]);
+ if (i.resample_ratio < .9999 || 1.0001 < i.resample_ratio) for (var o = 0; o < i.channels_out; o++) {
+ var _ = new f();
+ r.n_out = c(e, t[o], i.mf_size, e.framesize, a[o], s, n, _, o), r.n_in = _.num_used;
+ } else {
+ r.n_out = Math.min(e.framesize, n), r.n_in = r.n_out;
+ for (var l = 0; l < r.n_out; ++l) t[0][i.mf_size + l] = a[0][s + l], 2 == i.channels_out && (t[1][i.mf_size + l] = a[1][s + l]);
}
}
this.lame_init = function () {
var e,
t,
a = new function () {
- this.class_id = 0, this.num_samples = 0, this.num_channels = 0, this.in_samplerate = 0, this.out_samplerate = 0, this.scale = 0, this.scale_left = 0, this.scale_right = 0, this.analysis = !1, this.bWriteVbrTag = !1, this.decode_only = !1, this.quality = 0, this.mode = ye.STEREO, this.force_ms = !1, this.free_format = !1, this.findReplayGain = !1, this.decode_on_the_fly = !1, this.write_id3tag_automatic = !1, this.brate = 0, this.compression_ratio = 0, this.copyright = 0, this.original = 0, this.extension = 0, this.emphasis = 0, this.error_protection = 0, this.strict_ISO = !1, this.disable_reservoir = !1, this.quant_comp = 0, this.quant_comp_short = 0, this.experimentalY = !1, this.experimentalZ = 0, this.exp_nspsytune = 0, this.preset = 0, this.VBR = null, this.VBR_q_frac = 0, this.VBR_q = 0, this.VBR_mean_bitrate_kbps = 0, this.VBR_min_bitrate_kbps = 0, this.VBR_max_bitrate_kbps = 0, this.VBR_hard_min = 0, this.lowpassfreq = 0, this.highpassfreq = 0, this.lowpasswidth = 0, this.highpasswidth = 0, this.maskingadjust = 0, this.maskingadjust_short = 0, this.ATHonly = !1, this.ATHshort = !1, this.noATH = !1, this.ATHtype = 0, this.ATHcurve = 0, this.ATHlower = 0, this.athaa_type = 0, this.athaa_loudapprox = 0, this.athaa_sensitivity = 0, this.short_blocks = null, this.useTemporal = !1, this.interChRatio = 0, this.msfix = 0, this.tune = !1, this.tune_value_a = 0, this.version = 0, this.encoder_delay = 0, this.encoder_padding = 0, this.framesize = 0, this.frameNum = 0, this.lame_allocated_gfp = 0, this.internal_flags = null;
- }(),
- n = ((e = a).class_id = I, t = e.internal_flags = new j(), e.mode = ye.NOT_SET, e.original = 1, e.in_samplerate = 44100, e.num_channels = 2, e.num_samples = -1, e.bWriteVbrTag = !0, e.quality = -1, e.short_blocks = null, t.subblock_gain = -1, e.lowpassfreq = 0, e.highpassfreq = 0, e.lowpasswidth = -1, e.highpasswidth = -1, e.VBR = Me.vbr_off, e.VBR_q = 4, e.ATHcurve = -1, e.VBR_mean_bitrate_kbps = 128, e.VBR_min_bitrate_kbps = 0, e.VBR_max_bitrate_kbps = 0, e.VBR_hard_min = 0, t.VBR_min_bitrate = 1, t.VBR_max_bitrate = 13, e.quant_comp = -1, e.quant_comp_short = -1, e.msfix = -1, t.resample_ratio = 1, t.OldValue[0] = 180, t.OldValue[1] = 180, t.CurrentStep[0] = 4, t.CurrentStep[1] = 4, t.masking_lower = 1, t.nsPsy.attackthre = -1, t.nsPsy.attackthre_s = -1, e.scale = -1, e.athaa_type = -1, e.ATHtype = -1, e.athaa_loudapprox = -1, e.athaa_sensitivity = 0, e.useTemporal = null, e.interChRatio = -1, t.mf_samples_to_encode = Ae.ENCDELAY + Ae.POSTDELAY, e.encoder_padding = 0, t.mf_size = Ae.ENCDELAY - Ae.MDCTDELAY, e.findReplayGain = !1, e.decode_on_the_fly = !1, t.decode_on_the_fly = !1, t.findReplayGain = !1, t.findPeakSample = !1, t.RadioGain = 0, t.AudiophileGain = 0, t.noclipGainChange = 0, t.noclipScale = -1, e.preset = 0, e.write_id3tag_automatic = !0, 0);
- return 0 != n ? null : (a.lame_allocated_gfp = 1, a);
+ this.class_id = 0, this.num_samples = 0, this.num_channels = 0, this.in_samplerate = 0, this.out_samplerate = 0, this.scale = 0, this.scale_left = 0, this.scale_right = 0, this.analysis = !1, this.bWriteVbrTag = !1, this.decode_only = !1, this.quality = 0, this.mode = Ee.STEREO, this.force_ms = !1, this.free_format = !1, this.findReplayGain = !1, this.decode_on_the_fly = !1, this.write_id3tag_automatic = !1, this.brate = 0, this.compression_ratio = 0, this.copyright = 0, this.original = 0, this.extension = 0, this.emphasis = 0, this.error_protection = 0, this.strict_ISO = !1, this.disable_reservoir = !1, this.quant_comp = 0, this.quant_comp_short = 0, this.experimentalY = !1, this.experimentalZ = 0, this.exp_nspsytune = 0, this.preset = 0, this.VBR = null, this.VBR_q_frac = 0, this.VBR_q = 0, this.VBR_mean_bitrate_kbps = 0, this.VBR_min_bitrate_kbps = 0, this.VBR_max_bitrate_kbps = 0, this.VBR_hard_min = 0, this.lowpassfreq = 0, this.highpassfreq = 0, this.lowpasswidth = 0, this.highpasswidth = 0, this.maskingadjust = 0, this.maskingadjust_short = 0, this.ATHonly = !1, this.ATHshort = !1, this.noATH = !1, this.ATHtype = 0, this.ATHcurve = 0, this.ATHlower = 0, this.athaa_type = 0, this.athaa_loudapprox = 0, this.athaa_sensitivity = 0, this.short_blocks = null, this.useTemporal = !1, this.interChRatio = 0, this.msfix = 0, this.tune = !1, this.tune_value_a = 0, this.version = 0, this.encoder_delay = 0, this.encoder_padding = 0, this.framesize = 0, this.frameNum = 0, this.lame_allocated_gfp = 0, this.internal_flags = null;
+ }();
+ return 0 != ((e = a).class_id = x, t = e.internal_flags = new Z(), e.mode = Ee.NOT_SET, e.original = 1, e.in_samplerate = 44100, e.num_channels = 2, e.num_samples = -1, e.bWriteVbrTag = !0, e.quality = -1, e.short_blocks = null, t.subblock_gain = -1, e.lowpassfreq = 0, e.highpassfreq = 0, e.lowpasswidth = -1, e.highpasswidth = -1, e.VBR = xe.vbr_off, e.VBR_q = 4, e.ATHcurve = -1, e.VBR_mean_bitrate_kbps = 128, e.VBR_min_bitrate_kbps = 0, e.VBR_max_bitrate_kbps = 0, e.VBR_hard_min = 0, t.VBR_min_bitrate = 1, t.VBR_max_bitrate = 13, e.quant_comp = -1, e.quant_comp_short = -1, e.msfix = -1, t.resample_ratio = 1, t.OldValue[0] = 180, t.OldValue[1] = 180, t.CurrentStep[0] = 4, t.CurrentStep[1] = 4, t.masking_lower = 1, t.nsPsy.attackthre = -1, t.nsPsy.attackthre_s = -1, e.scale = -1, e.athaa_type = -1, e.ATHtype = -1, e.athaa_loudapprox = -1, e.athaa_sensitivity = 0, e.useTemporal = null, e.interChRatio = -1, t.mf_samples_to_encode = Pe.ENCDELAY + Pe.POSTDELAY, e.encoder_padding = 0, t.mf_size = Pe.ENCDELAY - Pe.MDCTDELAY, e.findReplayGain = !1, e.decode_on_the_fly = !1, t.decode_on_the_fly = !1, t.findReplayGain = !1, t.findPeakSample = !1, t.RadioGain = 0, t.AudiophileGain = 0, t.noclipGainChange = 0, t.noclipScale = -1, e.preset = 0, e.write_id3tag_automatic = !0, 0) ? null : (a.lame_allocated_gfp = 1, a);
}, this.nearestBitrateFullIndex = function (e) {
var t = [8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320],
a = 0,
- n = 0,
s = 0,
+ n = 0,
r = 0;
- r = t[16], n = t[s = 16], a = 16;
+ r = t[16], s = t[n = 16], a = 16;
for (var i = 0; i < 16; i++) if (Math.max(e, t[i + 1]) != e) {
- r = t[i + 1], s = i + 1, n = t[i], a = i;
+ r = t[i + 1], n = i + 1, s = t[i], a = i;
break;
}
- return e - n < r - e ? a : s;
+ return e - s < r - e ? a : n;
}, this.lame_init_params = function (e) {
var t,
a,
+ s,
n = e.internal_flags;
if (n.Class_ID = 0, null == n.ATH && (n.ATH = new function () {
- this.useAdjust = 0, this.aaSensitivityP = 0, this.adjust = 0, this.adjustLimit = 0, this.decay = 0, this.floor = 0, this.l = de(Ae.SBMAX_l), this.s = de(Ae.SBMAX_s), this.psfb21 = de(Ae.PSFB21), this.psfb12 = de(Ae.PSFB12), this.cb_l = de(Ae.CBANDS), this.cb_s = de(Ae.CBANDS), this.eql_w = de(Ae.BLKSIZE / 2);
+ this.useAdjust = 0, this.aaSensitivityP = 0, this.adjust = 0, this.adjustLimit = 0, this.decay = 0, this.floor = 0, this.l = Be(Pe.SBMAX_l), this.s = Be(Pe.SBMAX_s), this.psfb21 = Be(Pe.PSFB21), this.psfb12 = Be(Pe.PSFB12), this.cb_l = Be(Pe.CBANDS), this.cb_s = Be(Pe.CBANDS), this.eql_w = Be(Pe.BLKSIZE / 2);
}()), null == n.PSY && (n.PSY = new function () {
- this.mask_adjust = 0, this.mask_adjust_short = 0, this.bo_l_weight = de(Ae.SBMAX_l), this.bo_s_weight = de(Ae.SBMAX_s);
- }()), null == n.rgdata && (n.rgdata = new function () {}()), n.channels_in = e.num_channels, 1 == n.channels_in && (e.mode = ye.MONO), n.channels_out = e.mode == ye.MONO ? 1 : 2, n.mode_ext = Ae.MPG_MD_MS_LR, e.mode == ye.MONO && (e.force_ms = !1), e.VBR == Me.vbr_off && 128 != e.VBR_mean_bitrate_kbps && 0 == e.brate && (e.brate = e.VBR_mean_bitrate_kbps), e.VBR == Me.vbr_off || e.VBR == Me.vbr_mtrh || e.VBR == Me.vbr_mt || (e.free_format = !1), e.VBR == Me.vbr_off && 0 == e.brate && me(), e.VBR == Me.vbr_off && 0 < e.compression_ratio && me(), 0 != e.out_samplerate && (e.out_samplerate < 16e3 ? (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 64)) : e.out_samplerate < 32e3 ? (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 160)) : (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 32), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 320))), 0 == e.lowpassfreq) {
- var s = 16e3;
+ this.mask_adjust = 0, this.mask_adjust_short = 0, this.bo_l_weight = Be(Pe.SBMAX_l), this.bo_s_weight = Be(Pe.SBMAX_s);
+ }()), null == n.rgdata && (n.rgdata = new function () {}()), n.channels_in = e.num_channels, 1 == n.channels_in && (e.mode = Ee.MONO), n.channels_out = e.mode == Ee.MONO ? 1 : 2, n.mode_ext = Pe.MPG_MD_MS_LR, e.mode == Ee.MONO && (e.force_ms = !1), e.VBR == xe.vbr_off && 128 != e.VBR_mean_bitrate_kbps && 0 == e.brate && (e.brate = e.VBR_mean_bitrate_kbps), e.VBR == xe.vbr_off || e.VBR == xe.vbr_mtrh || e.VBR == xe.vbr_mt || (e.free_format = !1), e.VBR == xe.vbr_off && 0 == e.brate && q.EQ(e.compression_ratio, 0) && (e.compression_ratio = 11.025), e.VBR == xe.vbr_off && 0 < e.compression_ratio && (0 == e.out_samplerate && (e.out_samplerate = map2MP3Frequency(int(.97 * e.in_samplerate))), e.brate = 0 | 16 * e.out_samplerate * n.channels_out / (1e3 * e.compression_ratio), n.samplerate_index = P(e.out_samplerate, e), e.free_format || (e.brate = L(e.brate, e.version, e.out_samplerate))), 0 != e.out_samplerate && (e.out_samplerate < 16e3 ? (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 64)) : e.out_samplerate < 32e3 ? (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 160)) : (e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 32), e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 320))), 0 == e.lowpassfreq) {
+ var r = 16e3;
switch (e.VBR) {
- case Me.vbr_off:
- var r = new d();
- g(r, e.brate), s = r.lowerlimit;
+ case xe.vbr_off:
+ H(i = new T(), e.brate), r = i.lowerlimit;
break;
- case Me.vbr_abr:
- var r = new d();
- g(r, e.VBR_mean_bitrate_kbps), s = r.lowerlimit;
+ case xe.vbr_abr:
+ var i;
+ H(i = new T(), e.VBR_mean_bitrate_kbps), r = i.lowerlimit;
+ break;
+ case xe.vbr_rh:
+ var o = [19500, 19e3, 18600, 18e3, 17500, 16e3, 15600, 14900, 12500, 1e4, 3950];
+ if (0 <= e.VBR_q && e.VBR_q <= 9) {
+ var _ = o[e.VBR_q],
+ l = o[e.VBR_q + 1],
+ f = e.VBR_q_frac;
+ r = linear_int(_, l, f);
+ } else r = 19500;
break;
- case Me.vbr_rh:
- me();
default:
- me();
+ o = [19500, 19e3, 18500, 18e3, 17500, 16500, 15500, 14500, 12500, 9500, 3950];
+ if (0 <= e.VBR_q && e.VBR_q <= 9) {
+ _ = o[e.VBR_q], l = o[e.VBR_q + 1], f = e.VBR_q_frac;
+ r = linear_int(_, l, f);
+ } else r = 19500;
}
- e.mode != ye.MONO || e.VBR != Me.vbr_off && e.VBR != Me.vbr_abr || (s *= 1.5), e.lowpassfreq = 0 | s;
+ e.mode != Ee.MONO || e.VBR != xe.vbr_off && e.VBR != xe.vbr_abr || (r *= 1.5), e.lowpassfreq = 0 | r;
}
- switch (0 == e.out_samplerate && me(), e.lowpassfreq = Math.min(20500, e.lowpassfreq), e.lowpassfreq = Math.min(e.out_samplerate / 2, e.lowpassfreq), e.VBR == Me.vbr_off && (e.compression_ratio = 16 * e.out_samplerate * n.channels_out / (1e3 * e.brate)), e.VBR == Me.vbr_abr && me(), e.bWriteVbrTag || (e.findReplayGain = !1, e.decode_on_the_fly = !1, n.findPeakSample = !1), n.findReplayGain = e.findReplayGain, n.decode_on_the_fly = e.decode_on_the_fly, n.decode_on_the_fly && (n.findPeakSample = !0), n.findReplayGain && me(), n.decode_on_the_fly && !e.decode_only && me(), n.mode_gr = e.out_samplerate <= 24e3 ? 1 : 2, e.framesize = 576 * n.mode_gr, e.encoder_delay = Ae.ENCDELAY, n.resample_ratio = e.in_samplerate / e.out_samplerate, e.VBR) {
- case Me.vbr_mt:
- case Me.vbr_rh:
- case Me.vbr_mtrh:
+ if (0 == e.out_samplerate && (2 * e.lowpassfreq > e.in_samplerate && (e.lowpassfreq = e.in_samplerate / 2), e.out_samplerate = (t = 0 | e.lowpassfreq, a = e.in_samplerate, s = 44100, 48e3 <= a ? s = 48e3 : 44100 <= a ? s = 44100 : 32e3 <= a ? s = 32e3 : 24e3 <= a ? s = 24e3 : 22050 <= a ? s = 22050 : 16e3 <= a ? s = 16e3 : 12e3 <= a ? s = 12e3 : 11025 <= a ? s = 11025 : 8e3 <= a && (s = 8e3), -1 == t ? s : (t <= 15960 && (s = 44100), t <= 15250 && (s = 32e3), t <= 11220 && (s = 24e3), t <= 9970 && (s = 22050), t <= 7230 && (s = 16e3), t <= 5420 && (s = 12e3), t <= 4510 && (s = 11025), t <= 3970 && (s = 8e3), a < s ? 44100 < a ? 48e3 : 32e3 < a ? 44100 : 24e3 < a ? 32e3 : 22050 < a ? 24e3 : 16e3 < a ? 22050 : 12e3 < a ? 16e3 : 11025 < a ? 12e3 : 8e3 < a ? 11025 : 8e3 : s))), e.lowpassfreq = Math.min(20500, e.lowpassfreq), e.lowpassfreq = Math.min(e.out_samplerate / 2, e.lowpassfreq), e.VBR == xe.vbr_off && (e.compression_ratio = 16 * e.out_samplerate * n.channels_out / (1e3 * e.brate)), e.VBR == xe.vbr_abr && (e.compression_ratio = 16 * e.out_samplerate * n.channels_out / (1e3 * e.VBR_mean_bitrate_kbps)), e.bWriteVbrTag || (e.findReplayGain = !1, e.decode_on_the_fly = !1, n.findPeakSample = !1), n.findReplayGain = e.findReplayGain, n.decode_on_the_fly = e.decode_on_the_fly, n.decode_on_the_fly && (n.findPeakSample = !0), n.findReplayGain && w.InitGainAnalysis(n.rgdata, e.out_samplerate) == X.INIT_GAIN_ANALYSIS_ERROR) return e.internal_flags = null, -6;
+ switch (n.decode_on_the_fly && !e.decode_only && (null != n.hip && k.hip_decode_exit(n.hip), n.hip = k.hip_decode_init()), n.mode_gr = e.out_samplerate <= 24e3 ? 1 : 2, e.framesize = 576 * n.mode_gr, e.encoder_delay = Pe.ENCDELAY, n.resample_ratio = e.in_samplerate / e.out_samplerate, e.VBR) {
+ case xe.vbr_mt:
+ case xe.vbr_rh:
+ case xe.vbr_mtrh:
e.compression_ratio = [5.7, 6.5, 7.3, 8.2, 10, 11.9, 13, 14, 15, 16.5][e.VBR_q];
break;
- case Me.vbr_abr:
+ case xe.vbr_abr:
e.compression_ratio = 16 * e.out_samplerate * n.channels_out / (1e3 * e.VBR_mean_bitrate_kbps);
break;
default:
e.compression_ratio = 16 * e.out_samplerate * n.channels_out / (1e3 * e.brate);
}
- e.mode == ye.NOT_SET && (e.mode = ye.JOINT_STEREO), 0 < e.highpassfreq ? me() : (n.highpass1 = 0, n.highpass2 = 0), 0 < e.lowpassfreq ? (n.lowpass2 = 2 * e.lowpassfreq, 0 <= e.lowpasswidth ? me() : n.lowpass1 = 2 * e.lowpassfreq, n.lowpass1 /= e.out_samplerate, n.lowpass2 /= e.out_samplerate) : me(), function (e) {
- var t,
- a = e.internal_flags,
- n = 32;
- if (0 < a.lowpass1) {
- for (var s = 999, r = 0; r <= 31; r++) {
- var i = r / 31;
- i >= a.lowpass2 && (n = Math.min(n, r)), a.lowpass1 < i && i < a.lowpass2 && (s = Math.min(s, r));
- }
- a.lowpass1 = 999 == s ? (n - .75) / 31 : (s - .75) / 31, a.lowpass2 = n / 31;
+ if (e.mode == Ee.NOT_SET && (e.mode = Ee.JOINT_STEREO), 0 < e.highpassfreq ? (n.highpass1 = 2 * e.highpassfreq, 0 <= e.highpasswidth ? n.highpass2 = 2 * (e.highpassfreq + e.highpasswidth) : n.highpass2 = 2 * e.highpassfreq, n.highpass1 /= e.out_samplerate, n.highpass2 /= e.out_samplerate) : (n.highpass1 = 0, n.highpass2 = 0), 0 < e.lowpassfreq ? (n.lowpass2 = 2 * e.lowpassfreq, 0 <= e.lowpasswidth ? (n.lowpass1 = 2 * (e.lowpassfreq - e.lowpasswidth), n.lowpass1 < 0 && (n.lowpass1 = 0)) : n.lowpass1 = 2 * e.lowpassfreq, n.lowpass1 /= e.out_samplerate, n.lowpass2 /= e.out_samplerate) : (n.lowpass1 = 0, n.lowpass2 = 0), function (e) {
+ var t = e.internal_flags,
+ a = 32,
+ s = -1;
+ if (0 < t.lowpass1) {
+ for (var n = 999, r = 0; r <= 31; r++) (l = r / 31) >= t.lowpass2 && (a = Math.min(a, r)), t.lowpass1 < l && l < t.lowpass2 && (n = Math.min(n, r));
+ t.lowpass1 = 999 == n ? (a - .75) / 31 : (n - .75) / 31, t.lowpass2 = a / 31;
}
- 0 < a.highpass2 && me(), 0 < a.highpass2 && me();
- for (var r = 0; r < 32; r++) {
+ if (0 < t.highpass2 && t.highpass2 < .75 / 31 * .9 && (t.highpass1 = 0, t.highpass2 = 0, $.err.println("Warning: highpass filter disabled. highpass frequency too small\n")), 0 < t.highpass2) {
+ var i = -1;
+ for (r = 0; r <= 31; r++) (l = r / 31) <= t.highpass1 && (s = Math.max(s, r)), t.highpass1 < l && l < t.highpass2 && (i = Math.max(i, r));
+ t.highpass1 = s / 31, t.highpass2 = -1 == i ? (s + .75) / 31 : (i + .75) / 31;
+ }
+ for (r = 0; r < 32; r++) {
var o,
_,
- i = r / 31;
- a.highpass2 > a.highpass1 ? me() : o = 1, _ = a.lowpass2 > a.lowpass1 ? 1 < (t = (i - a.lowpass1) / (a.lowpass2 - a.lowpass1 + 1e-20)) ? 0 : t <= 0 ? 1 : Math.cos(Math.PI / 2 * t) : 1, a.amp_filter[r] = o * _;
+ l = r / 31;
+ o = t.highpass2 > t.highpass1 ? E((t.highpass2 - l) / (t.highpass2 - t.highpass1 + 1e-20)) : 1, _ = t.lowpass2 > t.lowpass1 ? E((l - t.lowpass1) / (t.lowpass2 - t.lowpass1 + 1e-20)) : 1, t.amp_filter[r] = o * _;
}
- }(e), n.samplerate_index = function (e, t) {
- switch (e) {
- case 44100:
- return t.version = 1, 0;
- case 48e3:
- return t.version = 1;
- case 32e3:
- return t.version = 1, 2;
- case 22050:
- return t.version = 0;
- case 24e3:
- return t.version = 0, 1;
- case 16e3:
- return t.version = 0, 2;
- case 11025:
- return t.version = 0;
- case 12e3:
- return t.version = 0, 1;
- case 8e3:
- return t.version = 0, 2;
- default:
- return t.version = 0, -1;
- }
- }(e.out_samplerate, e), n.samplerate_index < 0 && me(), e.VBR == Me.vbr_off ? e.free_format ? n.bitrate_index = 0 : (e.brate = function (e, t, a) {
- a < 16e3 && (t = 2);
- for (var n = k.bitrate_table[t][1], s = 2; s <= 14; s++) 0 < k.bitrate_table[t][s] && Math.abs(k.bitrate_table[t][s] - e) < Math.abs(n - e) && (n = k.bitrate_table[t][s]);
- return n;
- }(e.brate, e.version, e.out_samplerate), n.bitrate_index = function (e, t, a) {
- a < 16e3 && (t = 2);
- for (var n = 0; n <= 14; n++) if (0 < k.bitrate_table[t][n] && k.bitrate_table[t][n] == e) return n;
- return -1;
- }(e.brate, e.version, e.out_samplerate), n.bitrate_index <= 0 && me()) : n.bitrate_index = 1, e.analysis && (e.bWriteVbrTag = !1), null != n.pinfo && (e.bWriteVbrTag = !1), E.init_bit_stream_w(n);
- for (var i, o = n.samplerate_index + 3 * e.version + 6 * (e.out_samplerate < 16e3 ? 1 : 0), _ = 0; _ < Ae.SBMAX_l + 1; _++) n.scalefac_band.l[_] = h.sfBandIndex[o].l[_];
- for (var _ = 0; _ < Ae.PSFB21 + 1; _++) {
- var l = (n.scalefac_band.l[22] - n.scalefac_band.l[21]) / Ae.PSFB21,
- f = n.scalefac_band.l[21] + _ * l;
- n.scalefac_band.psfb21[_] = f;
+ }(e), n.samplerate_index = P(e.out_samplerate, e), n.samplerate_index < 0) return e.internal_flags = null, -1;
+ if (e.VBR == xe.vbr_off) {
+ if (e.free_format) n.bitrate_index = 0;else if (e.brate = L(e.brate, e.version, e.out_samplerate), n.bitrate_index = I(e.brate, e.version, e.out_samplerate), n.bitrate_index <= 0) return e.internal_flags = null, -1;
+ } else n.bitrate_index = 1;
+ e.analysis && (e.bWriteVbrTag = !1), null != n.pinfo && (e.bWriteVbrTag = !1), R.init_bit_stream_w(n);
+ for (var c, h, u, m = n.samplerate_index + 3 * e.version + 6 * (e.out_samplerate < 16e3 ? 1 : 0), p = 0; p < Pe.SBMAX_l + 1; p++) n.scalefac_band.l[p] = S.sfBandIndex[m].l[p];
+ for (p = 0; p < Pe.PSFB21 + 1; p++) {
+ var b = (n.scalefac_band.l[22] - n.scalefac_band.l[21]) / Pe.PSFB21,
+ v = n.scalefac_band.l[21] + p * b;
+ n.scalefac_band.psfb21[p] = v;
}
- n.scalefac_band.psfb21[Ae.PSFB21] = 576;
- for (var _ = 0; _ < Ae.SBMAX_s + 1; _++) n.scalefac_band.s[_] = h.sfBandIndex[o].s[_];
- for (var _ = 0; _ < Ae.PSFB12 + 1; _++) {
- var l = (n.scalefac_band.s[13] - n.scalefac_band.s[12]) / Ae.PSFB12,
- f = n.scalefac_band.s[12] + _ * l;
- n.scalefac_band.psfb12[_] = f;
+ n.scalefac_band.psfb21[Pe.PSFB21] = 576;
+ for (p = 0; p < Pe.SBMAX_s + 1; p++) n.scalefac_band.s[p] = S.sfBandIndex[m].s[p];
+ for (p = 0; p < Pe.PSFB12 + 1; p++) {
+ b = (n.scalefac_band.s[13] - n.scalefac_band.s[12]) / Pe.PSFB12, v = n.scalefac_band.s[12] + p * b;
+ n.scalefac_band.psfb12[p] = v;
}
- for (n.scalefac_band.psfb12[Ae.PSFB12] = 192, 1 == e.version ? n.sideinfo_len = 1 == n.channels_out ? 21 : 36 : n.sideinfo_len = 1 == n.channels_out ? 13 : 21, e.error_protection && (n.sideinfo_len += 2), a = void 0, a = (t = e).internal_flags, t.frameNum = 0, t.write_id3tag_automatic && m.id3tag_write_v2(t), a.bitrate_stereoMode_Hist = w([16, 5]), a.bitrate_blockType_Hist = w([16, 6]), a.PeakSample = 0, t.bWriteVbrTag && p.InitVbrTag(t), n.Class_ID = I, i = 0; i < 19; i++) n.nsPsy.pefirbuf[i] = 700 * n.mode_gr * n.channels_out;
+ for (n.scalefac_band.psfb12[Pe.PSFB12] = 192, 1 == e.version ? n.sideinfo_len = 1 == n.channels_out ? 21 : 36 : n.sideinfo_len = 1 == n.channels_out ? 13 : 21, e.error_protection && (n.sideinfo_len += 2), h = (c = e).internal_flags, c.frameNum = 0, c.write_id3tag_automatic && B.id3tag_write_v2(c), h.bitrate_stereoMode_Hist = Y([16, 5]), h.bitrate_blockType_Hist = Y([16, 6]), h.PeakSample = 0, c.bWriteVbrTag && A.InitVbrTag(c), n.Class_ID = x, u = 0; u < 19; u++) n.nsPsy.pefirbuf[u] = 700 * n.mode_gr * n.channels_out;
switch (-1 == e.ATHtype && (e.ATHtype = 4), e.VBR) {
- case Me.vbr_mt:
- e.VBR = Me.vbr_mtrh;
- case Me.vbr_mtrh:
- null == e.useTemporal && (e.useTemporal = !1), u.apply_preset(e, 500 - 10 * e.VBR_q, 0), e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), e.quality < 5 && (e.quality = 0), 5 < e.quality && (e.quality = 5), n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, e.experimentalY ? n.sfb21_extra = !1 : n.sfb21_extra = 44e3 < e.out_samplerate, n.iteration_loop = new VBRNewIterationLoop(b);
+ case xe.vbr_mt:
+ e.VBR = xe.vbr_mtrh;
+ case xe.vbr_mtrh:
+ null == e.useTemporal && (e.useTemporal = !1), g.apply_preset(e, 500 - 10 * e.VBR_q, 0), e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), e.quality < 5 && (e.quality = 0), 5 < e.quality && (e.quality = 5), n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, e.experimentalY ? n.sfb21_extra = !1 : n.sfb21_extra = 44e3 < e.out_samplerate, n.iteration_loop = new VBRNewIterationLoop(M);
break;
- case Me.vbr_rh:
- u.apply_preset(e, 500 - 10 * e.VBR_q, 0), n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, e.experimentalY ? n.sfb21_extra = !1 : n.sfb21_extra = 44e3 < e.out_samplerate, 6 < e.quality && (e.quality = 6), e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), n.iteration_loop = new VBROldIterationLoop(b);
+ case xe.vbr_rh:
+ g.apply_preset(e, 500 - 10 * e.VBR_q, 0), n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, e.experimentalY ? n.sfb21_extra = !1 : n.sfb21_extra = 44e3 < e.out_samplerate, 6 < e.quality && (e.quality = 6), e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), n.iteration_loop = new VBROldIterationLoop(M);
break;
default:
- var c;
- n.sfb21_extra = !1, e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), (c = e.VBR) == Me.vbr_off && (e.VBR_mean_bitrate_kbps = e.brate), u.apply_preset(e, e.VBR_mean_bitrate_kbps, 0), e.VBR = c, n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, c == Me.vbr_off ? n.iteration_loop = new function (e) {
+ var d;
+ n.sfb21_extra = !1, e.quality < 0 && (e.quality = LAME_DEFAULT_QUALITY), (d = e.VBR) == xe.vbr_off && (e.VBR_mean_bitrate_kbps = e.brate), g.apply_preset(e, e.VBR_mean_bitrate_kbps, 0), e.VBR = d, n.PSY.mask_adjust = e.maskingadjust, n.PSY.mask_adjust_short = e.maskingadjust_short, n.iteration_loop = d == xe.vbr_off ? new function (e) {
var t = e;
- this.quantize = t, this.iteration_loop = function (e, t, a, n) {
- var s = e.internal_flags,
- r = de(F.SFBMAX),
- i = de(576),
- o = ve(2),
- _ = 0,
- l = s.l3_side,
- f = new R(_);
- this.quantize.rv.ResvFrameBegin(e, f), _ = f.bits;
- for (var c = 0; c < s.mode_gr; c++) {
- this.quantize.qupvt.on_pe(e, t, o, _, c, c), s.mode_ext == Ae.MPG_MD_MS_LR && me();
- for (var u = 0; u < s.channels_out; u++) {
- var h,
- b,
- p = l.tt[c][u];
- p.block_type != Ae.SHORT_TYPE ? (h = 0, b = s.PSY.mask_adjust - h) : (h = 0, b = s.PSY.mask_adjust_short - h), s.masking_lower = Math.pow(10, .1 * b), this.quantize.init_outer_loop(s, p), this.quantize.init_xrpow(s, p, i) && (this.quantize.qupvt.calc_xmin(e, n[c][u], p, r), this.quantize.outer_loop(e, p, r, i, u, o[u])), this.quantize.iteration_finish_one(s, c, u);
+ this.quantize = t, this.iteration_loop = function (e, t, a, s) {
+ var n,
+ r = e.internal_flags,
+ i = Be(z.SFBMAX),
+ o = Be(576),
+ _ = Ae(2),
+ l = 0,
+ f = r.l3_side,
+ c = new j(l);
+ this.quantize.rv.ResvFrameBegin(e, c), l = c.bits;
+ for (var h = 0; h < r.mode_gr; h++) {
+ n = this.quantize.qupvt.on_pe(e, t, _, l, h, h), r.mode_ext == Pe.MPG_MD_MS_LR && (this.quantize.ms_convert(r.l3_side, h), this.quantize.qupvt.reduce_side(_, a[h], l, n));
+ for (var u = 0; u < r.channels_out; u++) {
+ var m,
+ p,
+ b = f.tt[h][u];
+ b.block_type != Pe.SHORT_TYPE ? (m = 0, p = r.PSY.mask_adjust - m) : (m = 0, p = r.PSY.mask_adjust_short - m), r.masking_lower = Math.pow(10, .1 * p), this.quantize.init_outer_loop(r, b), this.quantize.init_xrpow(r, b, o) && (this.quantize.qupvt.calc_xmin(e, s[h][u], b, i), this.quantize.outer_loop(e, b, i, o, u, _[u])), this.quantize.iteration_finish_one(r, h, u);
}
}
- this.quantize.rv.ResvFrameEnd(s, _);
+ this.quantize.rv.ResvFrameEnd(r, l);
};
- }(b) : me();
+ }(M) : new ABRIterationLoop(M);
}
- return e.VBR != Me.vbr_off && me(), e.tune && me(), function (e) {
+ if (e.VBR != xe.vbr_off) {
+ if (n.VBR_min_bitrate = 1, n.VBR_max_bitrate = 14, e.out_samplerate < 16e3 && (n.VBR_max_bitrate = 8), 0 != e.VBR_min_bitrate_kbps && (e.VBR_min_bitrate_kbps = L(e.VBR_min_bitrate_kbps, e.version, e.out_samplerate), n.VBR_min_bitrate = I(e.VBR_min_bitrate_kbps, e.version, e.out_samplerate), n.VBR_min_bitrate < 0)) return -1;
+ if (0 != e.VBR_max_bitrate_kbps && (e.VBR_max_bitrate_kbps = L(e.VBR_max_bitrate_kbps, e.version, e.out_samplerate), n.VBR_max_bitrate = I(e.VBR_max_bitrate_kbps, e.version, e.out_samplerate), n.VBR_max_bitrate < 0)) return -1;
+ e.VBR_min_bitrate_kbps = F.bitrate_table[e.version][n.VBR_min_bitrate], e.VBR_max_bitrate_kbps = F.bitrate_table[e.version][n.VBR_max_bitrate], e.VBR_mean_bitrate_kbps = Math.min(F.bitrate_table[e.version][n.VBR_max_bitrate], e.VBR_mean_bitrate_kbps), e.VBR_mean_bitrate_kbps = Math.max(F.bitrate_table[e.version][n.VBR_min_bitrate], e.VBR_mean_bitrate_kbps);
+ }
+ return e.tune && (n.PSY.mask_adjust += e.tune_value_a, n.PSY.mask_adjust_short += e.tune_value_a), function (e) {
var t = e.internal_flags;
switch (e.quality) {
default:
@@ -37036,229 +37331,252 @@ src: recorder-core.js,engine/mp3.js,engine/mp3-engine.js
case 0:
t.psymodel = 1, 0 == t.noise_shaping && (t.noise_shaping = 1), 0 == t.substep_shaping && (t.substep_shaping = 2), t.noise_shaping_amp = 2, -(t.noise_shaping_stop = 1) == t.subblock_gain && (t.subblock_gain = 1), t.use_best_huffman = 1, t.full_outer_loop = 0;
}
- }(e), e.athaa_type < 0 ? n.ATH.useAdjust = 3 : n.ATH.useAdjust = e.athaa_type, n.ATH.aaSensitivityP = Math.pow(10, e.athaa_sensitivity / -10), null == e.short_blocks && (e.short_blocks = Se.short_block_allowed), e.short_blocks != Se.short_block_allowed || e.mode != ye.JOINT_STEREO && e.mode != ye.STEREO || (e.short_blocks = Se.short_block_coupled), e.quant_comp < 0 && (e.quant_comp = 1), e.quant_comp_short < 0 && (e.quant_comp_short = 0), e.msfix < 0 && (e.msfix = 0), e.exp_nspsytune = 1 | e.exp_nspsytune, e.internal_flags.nsPsy.attackthre < 0 && (e.internal_flags.nsPsy.attackthre = X.NSATTACKTHRE), e.internal_flags.nsPsy.attackthre_s < 0 && (e.internal_flags.nsPsy.attackthre_s = X.NSATTACKTHRE_S), e.scale < 0 && (e.scale = 1), e.ATHtype < 0 && (e.ATHtype = 4), e.ATHcurve < 0 && (e.ATHcurve = 4), e.athaa_loudapprox < 0 && (e.athaa_loudapprox = 2), e.interChRatio < 0 && (e.interChRatio = 0), null == e.useTemporal && (e.useTemporal = !0), n.slot_lag = n.frac_SpF = 0, e.VBR == Me.vbr_off && (n.slot_lag = n.frac_SpF = 72e3 * (e.version + 1) * e.brate % e.out_samplerate | 0), h.iteration_init(e), v.psymodel_init(e), 0;
- }, this.lame_encode_flush = function (e, t, a, n) {
- var s,
+ }(e), e.athaa_type < 0 ? n.ATH.useAdjust = 3 : n.ATH.useAdjust = e.athaa_type, n.ATH.aaSensitivityP = Math.pow(10, e.athaa_sensitivity / -10), null == e.short_blocks && (e.short_blocks = Te.short_block_allowed), e.short_blocks != Te.short_block_allowed || e.mode != Ee.JOINT_STEREO && e.mode != Ee.STEREO || (e.short_blocks = Te.short_block_coupled), e.quant_comp < 0 && (e.quant_comp = 1), e.quant_comp_short < 0 && (e.quant_comp_short = 0), e.msfix < 0 && (e.msfix = 0), e.exp_nspsytune = 1 | e.exp_nspsytune, e.internal_flags.nsPsy.attackthre < 0 && (e.internal_flags.nsPsy.attackthre = G.NSATTACKTHRE), e.internal_flags.nsPsy.attackthre_s < 0 && (e.internal_flags.nsPsy.attackthre_s = G.NSATTACKTHRE_S), e.scale < 0 && (e.scale = 1), e.ATHtype < 0 && (e.ATHtype = 4), e.ATHcurve < 0 && (e.ATHcurve = 4), e.athaa_loudapprox < 0 && (e.athaa_loudapprox = 2), e.interChRatio < 0 && (e.interChRatio = 0), null == e.useTemporal && (e.useTemporal = !0), n.slot_lag = n.frac_SpF = 0, e.VBR == xe.vbr_off && (n.slot_lag = n.frac_SpF = 72e3 * (e.version + 1) * e.brate % e.out_samplerate | 0), S.iteration_init(e), y.psymodel_init(e), 0;
+ }, this.lame_encode_flush = function (e, t, a, s) {
+ var n,
r,
i,
o,
_ = e.internal_flags,
- l = M([2, 1152]),
+ l = p([2, 1152]),
f = 0,
- c = _.mf_samples_to_encode - Ae.POSTDELAY,
- u = L(e);
+ c = _.mf_samples_to_encode - Pe.POSTDELAY,
+ h = C(e);
if (_.mf_samples_to_encode < 1) return 0;
- for (s = 0, e.in_samplerate != e.out_samplerate && me(), (i = e.framesize - c % e.framesize) < 576 && (i += e.framesize), e.encoder_padding = i, o = (c + i) / e.framesize; 0 < o && 0 <= f;) {
- var h = u - _.mf_size,
- b = e.frameNum;
- h *= e.in_samplerate, 1152 < (h /= e.out_samplerate) && (h = 1152), h < 1 && (h = 1), r = n - s, 0 == n && (r = 0), f = this.lame_encode_buffer(e, l[0], l[1], h, t, a, r), a += f, s += f, o -= b != e.frameNum ? 1 : 0;
+ for (n = 0, e.in_samplerate != e.out_samplerate && (c += 16 * e.out_samplerate / e.in_samplerate), (i = e.framesize - c % e.framesize) < 576 && (i += e.framesize), o = (c + (e.encoder_padding = i)) / e.framesize; 0 < o && 0 <= f;) {
+ var u = h - _.mf_size,
+ m = e.frameNum;
+ u *= e.in_samplerate, 1152 < (u /= e.out_samplerate) && (u = 1152), u < 1 && (u = 1), r = s - n, 0 == s && (r = 0), a += f = this.lame_encode_buffer(e, l[0], l[1], u, t, a, r), n += f, o -= m != e.frameNum ? 1 : 0;
}
- return _.mf_samples_to_encode = 0, f < 0 ? f : (r = n - s, 0 == n && (r = 0), E.flush_bitstream(e), (f = E.copy_buffer(_, t, a, r, 1)) < 0 ? f : (a += f, r = n - (s += f), 0 == n && (r = 0), e.write_id3tag_automatic && me(), s));
- }, this.lame_encode_buffer = function (e, t, a, n, s, r, i) {
+ if (f < (_.mf_samples_to_encode = 0)) return f;
+ if (r = s - n, 0 == s && (r = 0), R.flush_bitstream(e), (f = R.copy_buffer(_, t, a, r, 1)) < 0) return f;
+ if (a += f, r = s - (n += f), 0 == s && (r = 0), e.write_id3tag_automatic) {
+ if (B.id3tag_write_v1(e), (f = R.copy_buffer(_, t, a, r, 0)) < 0) return f;
+ n += f;
+ }
+ return n;
+ }, this.lame_encode_buffer = function (e, t, a, s, n, r, i) {
var o,
_,
l = e.internal_flags,
f = [null, null];
- if (l.Class_ID != I) return -3;
- if (0 == n) return 0;
- _ = n, (null == (o = l).in_buffer_0 || o.in_buffer_nsamples < _) && (o.in_buffer_0 = de(_), o.in_buffer_1 = de(_), o.in_buffer_nsamples = _), f[0] = l.in_buffer_0, f[1] = l.in_buffer_1;
- for (var c = 0; c < n; c++) f[0][c] = t[c], 1 < l.channels_in && (f[1][c] = a[c]);
- return function (e, t, a, n, s, r, i) {
+ if (l.Class_ID != x) return -3;
+ if (0 == s) return 0;
+ _ = s, (null == (o = l).in_buffer_0 || o.in_buffer_nsamples < _) && (o.in_buffer_0 = Be(_), o.in_buffer_1 = Be(_), o.in_buffer_nsamples = _), f[0] = l.in_buffer_0, f[1] = l.in_buffer_1;
+ for (var c = 0; c < s; c++) f[0][c] = t[c], 1 < l.channels_in && (f[1][c] = a[c]);
+ return function (e, t, a, s, n, r, i) {
var o,
_,
l,
f,
c,
- u = e.internal_flags,
- h = 0,
- b = [null, null],
+ h = e.internal_flags,
+ u = 0,
+ m = [null, null],
p = [null, null];
- if (u.Class_ID != I) return -3;
- if (0 == n) return 0;
- if ((c = E.copy_buffer(u, s, r, i, 0)) < 0) return c;
- if (r += c, h += c, p[0] = t, p[1] = a, N.NEQ(e.scale, 0) && N.NEQ(e.scale, 1)) for (_ = 0; _ < n; ++_) p[0][_] *= e.scale, 2 == u.channels_out && (p[1][_] *= e.scale);
- if (N.NEQ(e.scale_left, 0) && N.NEQ(e.scale_left, 1)) for (_ = 0; _ < n; ++_) p[0][_] *= e.scale_left;
- if (N.NEQ(e.scale_right, 0) && N.NEQ(e.scale_right, 1)) for (_ = 0; _ < n; ++_) p[1][_] *= e.scale_right;
- 2 == e.num_channels && 1 == u.channels_out && me(), f = L(e), b[0] = u.mfbuf[0], b[1] = u.mfbuf[1];
- for (var m, v, d, g, w, S, M, y = 0; 0 < n;) {
- var A = [null, null],
- k = 0,
- R = 0;
- A[0] = p[0], A[1] = p[1];
- var x = new P();
- if (H(e, b, A, y, n, x), k = x.n_in, R = x.n_out, u.findReplayGain && !u.decode_on_the_fly && T.AnalyzeSamples(u.rgdata, b[0], u.mf_size, b[1], u.mf_size, R, u.channels_out) == O.GAIN_ANALYSIS_ERROR) return -6;
- if (n -= k, y += k, u.channels_out, u.mf_size += R, u.mf_samples_to_encode < 1 && me(), u.mf_samples_to_encode += R, u.mf_size >= f) {
- var B = i - h;
- if (0 == i && (B = 0), m = e, v = b[0], d = b[1], g = s, w = r, S = B, M = C.enc.lame_encode_mp3_frame(m, v, d, g, w, S), m.frameNum++, (o = M) < 0) return o;
- for (r += o, h += o, u.mf_size -= e.framesize, u.mf_samples_to_encode -= e.framesize, l = 0; l < u.channels_out; l++) for (_ = 0; _ < u.mf_size; _++) b[l][_] = b[l][_ + e.framesize];
+ if (h.Class_ID != x) return -3;
+ if (0 == s) return 0;
+ if ((c = R.copy_buffer(h, n, r, i, 0)) < 0) return c;
+ if (r += c, u += c, p[0] = t, p[1] = a, q.NEQ(e.scale, 0) && q.NEQ(e.scale, 1)) for (_ = 0; _ < s; ++_) p[0][_] *= e.scale, 2 == h.channels_out && (p[1][_] *= e.scale);
+ if (q.NEQ(e.scale_left, 0) && q.NEQ(e.scale_left, 1)) for (_ = 0; _ < s; ++_) p[0][_] *= e.scale_left;
+ if (q.NEQ(e.scale_right, 0) && q.NEQ(e.scale_right, 1)) for (_ = 0; _ < s; ++_) p[1][_] *= e.scale_right;
+ if (2 == e.num_channels && 1 == h.channels_out) for (_ = 0; _ < s; ++_) p[0][_] = .5 * (p[0][_] + p[1][_]), p[1][_] = 0;
+ f = C(e), m[0] = h.mfbuf[0], m[1] = h.mfbuf[1];
+ var b = 0;
+ for (; 0 < s;) {
+ var v = [null, null],
+ d = 0,
+ g = 0;
+ v[0] = p[0], v[1] = p[1];
+ var S = new O();
+ if (D(e, m, v, b, s, S), d = S.n_in, g = S.n_out, h.findReplayGain && !h.decode_on_the_fly && w.AnalyzeSamples(h.rgdata, m[0], h.mf_size, m[1], h.mf_size, g, h.channels_out) == X.GAIN_ANALYSIS_ERROR) return -6;
+ if (s -= d, b += d, h.channels_out, h.mf_size += g, h.mf_samples_to_encode < 1 && (h.mf_samples_to_encode = Pe.ENCDELAY + Pe.POSTDELAY), h.mf_samples_to_encode += g, h.mf_size >= f) {
+ var M = i - u;
+ if (0 == i && (M = 0), (o = V(e, m[0], m[1], n, r, M)) < 0) return o;
+ for (r += o, u += o, h.mf_size -= e.framesize, h.mf_samples_to_encode -= e.framesize, l = 0; l < h.channels_out; l++) for (_ = 0; _ < h.mf_size; _++) m[l][_] = m[l][_ + e.framesize];
}
}
- return h;
- }(e, f[0], f[1], n, s, r, i);
+ return u;
+ }(e, f[0], f[1], s, n, r, i);
};
}
- F.SFBMAX = 3 * Ae.SBMAX_s, Ae.ENCDELAY = 576, Ae.POSTDELAY = 1152, Ae.FFTOFFSET = 224 + (Ae.MDCTDELAY = 48), Ae.DECDELAY = 528, Ae.SBLIMIT = 32, Ae.CBANDS = 64, Ae.SBPSY_l = 21, Ae.SBPSY_s = 12, Ae.SBMAX_l = 22, Ae.SBMAX_s = 13, Ae.PSFB21 = 6, Ae.PSFB12 = 6, Ae.HBLKSIZE = (Ae.BLKSIZE = 1024) / 2 + 1, Ae.HBLKSIZE_s = (Ae.BLKSIZE_s = 256) / 2 + 1, Ae.NORM_TYPE = 0, Ae.START_TYPE = 1, Ae.SHORT_TYPE = 2, Ae.STOP_TYPE = 3, Ae.MPG_MD_LR_LR = 0, Ae.MPG_MD_LR_I = 1, Ae.MPG_MD_MS_LR = 2, Ae.MPG_MD_MS_I = 3, Ae.fircoef = [-.1039435, -.1892065, 5 * -.0432472, -.155915, 3.898045e-17, .0467745 * 5, .50455, .756825, .187098 * 5], j.MFSIZE = 3456 + Ae.ENCDELAY - Ae.MDCTDELAY, j.MAX_HEADER_BUF = 256, j.MAX_BITS_PER_CHANNEL = 4095, j.MAX_BITS_PER_GRANULE = 7680, j.BPC = 320, F.SFBMAX = 3 * Ae.SBMAX_s, t.Mp3Encoder = function (n, e, t) {
- 1 != n && me("fix cc: only supports mono");
- var s = new Y(),
+ z.SFBMAX = 3 * Pe.SBMAX_s, Pe.ENCDELAY = 576, Pe.POSTDELAY = 1152, Pe.FFTOFFSET = 224 + (Pe.MDCTDELAY = 48), Pe.DECDELAY = 528, Pe.SBLIMIT = 32, Pe.CBANDS = 64, Pe.SBPSY_l = 21, Pe.SBPSY_s = 12, Pe.SBMAX_l = 22, Pe.SBMAX_s = 13, Pe.PSFB21 = 6, Pe.PSFB12 = 6, Pe.HBLKSIZE = (Pe.BLKSIZE = 1024) / 2 + 1, Pe.HBLKSIZE_s = (Pe.BLKSIZE_s = 256) / 2 + 1, Pe.NORM_TYPE = 0, Pe.START_TYPE = 1, Pe.SHORT_TYPE = 2, Pe.STOP_TYPE = 3, Pe.MPG_MD_LR_LR = 0, Pe.MPG_MD_LR_I = 1, Pe.MPG_MD_MS_LR = 2, Pe.MPG_MD_MS_I = 3, Pe.fircoef = [-.1039435, -.1892065, 5 * -.0432472, -.155915, 3.898045e-17, .0467745 * 5, .50455, .756825, .187098 * 5], Z.MFSIZE = 3456 + Pe.ENCDELAY - Pe.MDCTDELAY, Z.MAX_HEADER_BUF = 256, Z.MAX_BITS_PER_CHANNEL = 4095, Z.MAX_BITS_PER_GRANULE = 7680, Z.BPC = 320, z.SFBMAX = 3 * Pe.SBMAX_s, t.Mp3Encoder = function (s, e, t) {
+ 3 != arguments.length && (console.error("WARN: Mp3Encoder(channels, samplerate, kbps) not specified"), s = 1, e = 44100, t = 128);
+ var n = new U(),
a = new function () {
this.setModules = function (e, t) {};
}(),
- r = new O(),
- i = new N(),
+ r = new X(),
+ i = new q(),
o = new function () {
- function e(e, t, a, n, s, r, i, o, _, l, f, c, u, h) {
- this.quant_comp = t, this.quant_comp_s = a, this.safejoint = n, this.nsmsfix = s, this.st_lrm = r, this.st_s = i, this.nsbass = o, this.scale = _, this.masking_adj = l, this.ath_lower = f, this.ath_curve = c, this.interch = u, this.sfscale = h;
+ function e(e, t, a, s, n, r, i, o, _, l, f, c, h, u, m) {
+ this.vbr_q = e, this.quant_comp = t, this.quant_comp_s = a, this.expY = s, this.st_lrm = n, this.st_s = r, this.masking_adj = i, this.masking_adj_short = o, this.ath_lower = _, this.ath_curve = l, this.ath_sensitivity = f, this.interch = c, this.safejoint = h, this.sfb21mod = u, this.msfix = m;
+ }
+ function t(e, t, a, s, n, r, i, o, _, l, f, c, h, u) {
+ this.quant_comp = t, this.quant_comp_s = a, this.safejoint = s, this.nsmsfix = n, this.st_lrm = r, this.st_s = i, this.nsbass = o, this.scale = _, this.masking_adj = l, this.ath_lower = f, this.ath_curve = c, this.interch = h, this.sfscale = u;
}
var i;
- function n(e, t, a) {
- me();
- }
this.setModules = function (e) {
i = e;
};
- var o = [new e(8, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -30, 11, .0012, 1), new e(16, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -25, 11, .001, 1), new e(24, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -20, 11, .001, 1), new e(32, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -15, 11, .001, 1), new e(40, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -10, 11, 9e-4, 1), new e(48, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -10, 11, 9e-4, 1), new e(56, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -6, 11, 8e-4, 1), new e(64, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -2, 11, 8e-4, 1), new e(80, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, 0, 8, 7e-4, 1), new e(96, 9, 9, 0, 2.5, 6.6, 145, 0, .95, 0, 1, 5.5, 6e-4, 1), new e(112, 9, 9, 0, 2.25, 6.6, 145, 0, .95, 0, 2, 4.5, 5e-4, 1), new e(128, 9, 9, 0, 1.95, 6.4, 140, 0, .95, 0, 3, 4, 2e-4, 1), new e(160, 9, 9, 1, 1.79, 6, 135, 0, .95, -2, 5, 3.5, 0, 1), new e(192, 9, 9, 1, 1.49, 5.6, 125, 0, .97, -4, 7, 3, 0, 0), new e(224, 9, 9, 1, 1.25, 5.2, 125, 0, .98, -6, 9, 2, 0, 0), new e(256, 9, 9, 1, .97, 5.2, 125, 0, 1, -8, 10, 1, 0, 0), new e(320, 9, 9, 1, .9, 5.2, 125, 0, 1, -10, 12, 0, 0, 0)];
+ var f = [new e(0, 9, 9, 0, 5.2, 125, -4.2, -6.3, 4.8, 1, 0, 0, 2, 21, .97), new e(1, 9, 9, 0, 5.3, 125, -3.6, -5.6, 4.5, 1.5, 0, 0, 2, 21, 1.35), new e(2, 9, 9, 0, 5.6, 125, -2.2, -3.5, 2.8, 2, 0, 0, 2, 21, 1.49), new e(3, 9, 9, 1, 5.8, 130, -1.8, -2.8, 2.6, 3, -4, 0, 2, 20, 1.64), new e(4, 9, 9, 1, 6, 135, -.7, -1.1, 1.1, 3.5, -8, 0, 2, 0, 1.79), new e(5, 9, 9, 1, 6.4, 140, .5, .4, -7.5, 4, -12, 2e-4, 0, 0, 1.95), new e(6, 9, 9, 1, 6.6, 145, .67, .65, -14.7, 6.5, -19, 4e-4, 0, 0, 2.3), new e(7, 9, 9, 1, 6.6, 145, .8, .75, -19.7, 8, -22, 6e-4, 0, 0, 2.7), new e(8, 9, 9, 1, 6.6, 145, 1.2, 1.15, -27.5, 10, -23, 7e-4, 0, 0, 0), new e(9, 9, 9, 1, 6.6, 145, 1.6, 1.6, -36, 11, -25, 8e-4, 0, 0, 0), new e(10, 9, 9, 1, 6.6, 145, 2, 2, -36, 12, -25, 8e-4, 0, 0, 0)],
+ c = [new e(0, 9, 9, 0, 4.2, 25, -7, -4, 7.5, 1, 0, 0, 2, 26, .97), new e(1, 9, 9, 0, 4.2, 25, -5.6, -3.6, 4.5, 1.5, 0, 0, 2, 21, 1.35), new e(2, 9, 9, 0, 4.2, 25, -4.4, -1.8, 2, 2, 0, 0, 2, 18, 1.49), new e(3, 9, 9, 1, 4.2, 25, -3.4, -1.25, 1.1, 3, -4, 0, 2, 15, 1.64), new e(4, 9, 9, 1, 4.2, 25, -2.2, .1, 0, 3.5, -8, 0, 2, 0, 1.79), new e(5, 9, 9, 1, 4.2, 25, -1, 1.65, -7.7, 4, -12, 2e-4, 0, 0, 1.95), new e(6, 9, 9, 1, 4.2, 25, -0, 2.47, -7.7, 6.5, -19, 4e-4, 0, 0, 2), new e(7, 9, 9, 1, 4.2, 25, .5, 2, -14.5, 8, -22, 6e-4, 0, 0, 2), new e(8, 9, 9, 1, 4.2, 25, 1, 2.4, -22, 10, -23, 7e-4, 0, 0, 2), new e(9, 9, 9, 1, 4.2, 25, 1.5, 2.95, -30, 11, -25, 8e-4, 0, 0, 2), new e(10, 9, 9, 1, 4.2, 25, 2, 2.95, -36, 12, -30, 8e-4, 0, 0, 2)];
function s(e, t, a) {
- var n = t,
- s = i.nearestBitrateFullIndex(t);
- if (e.VBR = Me.vbr_abr, e.VBR_mean_bitrate_kbps = n, e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 320), e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.brate = e.VBR_mean_bitrate_kbps, 320 < e.VBR_mean_bitrate_kbps && (e.disable_reservoir = !0), 0 < o[s].safejoint && (e.exp_nspsytune = 2 | e.exp_nspsytune), 0 < o[s].sfscale && (e.internal_flags.noise_shaping = 2), 0 < Math.abs(o[s].nsbass)) {
- var r = int(4 * o[s].nsbass);
+ var s,
+ n,
+ r = e.VBR == xe.vbr_rh ? f : c,
+ i = e.VBR_q_frac,
+ o = r[t],
+ _ = r[t + 1],
+ l = o;
+ o.st_lrm = o.st_lrm + i * (_.st_lrm - o.st_lrm), o.st_s = o.st_s + i * (_.st_s - o.st_s), o.masking_adj = o.masking_adj + i * (_.masking_adj - o.masking_adj), o.masking_adj_short = o.masking_adj_short + i * (_.masking_adj_short - o.masking_adj_short), o.ath_lower = o.ath_lower + i * (_.ath_lower - o.ath_lower), o.ath_curve = o.ath_curve + i * (_.ath_curve - o.ath_curve), o.ath_sensitivity = o.ath_sensitivity + i * (_.ath_sensitivity - o.ath_sensitivity), o.interch = o.interch + i * (_.interch - o.interch), o.msfix = o.msfix + i * (_.msfix - o.msfix), s = e, (n = l.vbr_q) < 0 && (n = 0), 9 < n && (n = 9), s.VBR_q = n, (s.VBR_q_frac = 0) != a ? e.quant_comp = l.quant_comp : 0 < Math.abs(e.quant_comp - -1) || (e.quant_comp = l.quant_comp), 0 != a ? e.quant_comp_short = l.quant_comp_s : 0 < Math.abs(e.quant_comp_short - -1) || (e.quant_comp_short = l.quant_comp_s), 0 != l.expY && (e.experimentalY = 0 != l.expY), 0 != a ? e.internal_flags.nsPsy.attackthre = l.st_lrm : 0 < Math.abs(e.internal_flags.nsPsy.attackthre - -1) || (e.internal_flags.nsPsy.attackthre = l.st_lrm), 0 != a ? e.internal_flags.nsPsy.attackthre_s = l.st_s : 0 < Math.abs(e.internal_flags.nsPsy.attackthre_s - -1) || (e.internal_flags.nsPsy.attackthre_s = l.st_s), 0 != a ? e.maskingadjust = l.masking_adj : 0 < Math.abs(e.maskingadjust - 0) || (e.maskingadjust = l.masking_adj), 0 != a ? e.maskingadjust_short = l.masking_adj_short : 0 < Math.abs(e.maskingadjust_short - 0) || (e.maskingadjust_short = l.masking_adj_short), 0 != a ? e.ATHlower = -l.ath_lower / 10 : 0 < Math.abs(10 * -e.ATHlower - 0) || (e.ATHlower = -l.ath_lower / 10), 0 != a ? e.ATHcurve = l.ath_curve : 0 < Math.abs(e.ATHcurve - -1) || (e.ATHcurve = l.ath_curve), 0 != a ? e.athaa_sensitivity = l.ath_sensitivity : 0 < Math.abs(e.athaa_sensitivity - -1) || (e.athaa_sensitivity = l.ath_sensitivity), 0 < l.interch && (0 != a ? e.interChRatio = l.interch : 0 < Math.abs(e.interChRatio - -1) || (e.interChRatio = l.interch)), 0 < l.safejoint && (e.exp_nspsytune = e.exp_nspsytune | l.safejoint), 0 < l.sfb21mod && (e.exp_nspsytune = e.exp_nspsytune | l.sfb21mod << 20), 0 != a ? e.msfix = l.msfix : 0 < Math.abs(e.msfix - -1) || (e.msfix = l.msfix), 0 == a && (e.VBR_q = t, e.VBR_q_frac = i);
+ }
+ var o = [new t(8, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -30, 11, .0012, 1), new t(16, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -25, 11, .001, 1), new t(24, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -20, 11, .001, 1), new t(32, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -15, 11, .001, 1), new t(40, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -10, 11, 9e-4, 1), new t(48, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -10, 11, 9e-4, 1), new t(56, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -6, 11, 8e-4, 1), new t(64, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, -2, 11, 8e-4, 1), new t(80, 9, 9, 0, 0, 6.6, 145, 0, .95, 0, 0, 8, 7e-4, 1), new t(96, 9, 9, 0, 2.5, 6.6, 145, 0, .95, 0, 1, 5.5, 6e-4, 1), new t(112, 9, 9, 0, 2.25, 6.6, 145, 0, .95, 0, 2, 4.5, 5e-4, 1), new t(128, 9, 9, 0, 1.95, 6.4, 140, 0, .95, 0, 3, 4, 2e-4, 1), new t(160, 9, 9, 1, 1.79, 6, 135, 0, .95, -2, 5, 3.5, 0, 1), new t(192, 9, 9, 1, 1.49, 5.6, 125, 0, .97, -4, 7, 3, 0, 0), new t(224, 9, 9, 1, 1.25, 5.2, 125, 0, .98, -6, 9, 2, 0, 0), new t(256, 9, 9, 1, .97, 5.2, 125, 0, 1, -8, 10, 1, 0, 0), new t(320, 9, 9, 1, .9, 5.2, 125, 0, 1, -10, 12, 0, 0, 0)];
+ function n(e, t, a) {
+ var s = t,
+ n = i.nearestBitrateFullIndex(t);
+ if (e.VBR = xe.vbr_abr, e.VBR_mean_bitrate_kbps = s, e.VBR_mean_bitrate_kbps = Math.min(e.VBR_mean_bitrate_kbps, 320), e.VBR_mean_bitrate_kbps = Math.max(e.VBR_mean_bitrate_kbps, 8), e.brate = e.VBR_mean_bitrate_kbps, 320 < e.VBR_mean_bitrate_kbps && (e.disable_reservoir = !0), 0 < o[n].safejoint && (e.exp_nspsytune = 2 | e.exp_nspsytune), 0 < o[n].sfscale && (e.internal_flags.noise_shaping = 2), 0 < Math.abs(o[n].nsbass)) {
+ var r = int(4 * o[n].nsbass);
r < 0 && (r += 64), e.exp_nspsytune = e.exp_nspsytune | r << 2;
}
- return 0 != a ? e.quant_comp = o[s].quant_comp : 0 < Math.abs(e.quant_comp - -1) || (e.quant_comp = o[s].quant_comp), 0 != a ? e.quant_comp_short = o[s].quant_comp_s : 0 < Math.abs(e.quant_comp_short - -1) || (e.quant_comp_short = o[s].quant_comp_s), 0 != a ? e.msfix = o[s].nsmsfix : 0 < Math.abs(e.msfix - -1) || (e.msfix = o[s].nsmsfix), 0 != a ? e.internal_flags.nsPsy.attackthre = o[s].st_lrm : 0 < Math.abs(e.internal_flags.nsPsy.attackthre - -1) || (e.internal_flags.nsPsy.attackthre = o[s].st_lrm), 0 != a ? e.internal_flags.nsPsy.attackthre_s = o[s].st_s : 0 < Math.abs(e.internal_flags.nsPsy.attackthre_s - -1) || (e.internal_flags.nsPsy.attackthre_s = o[s].st_s), 0 != a ? e.scale = o[s].scale : 0 < Math.abs(e.scale - -1) || (e.scale = o[s].scale), 0 != a ? e.maskingadjust = o[s].masking_adj : 0 < Math.abs(e.maskingadjust - 0) || (e.maskingadjust = o[s].masking_adj), 0 < o[s].masking_adj ? 0 != a ? e.maskingadjust_short = .9 * o[s].masking_adj : 0 < Math.abs(e.maskingadjust_short - 0) || (e.maskingadjust_short = .9 * o[s].masking_adj) : 0 != a ? e.maskingadjust_short = 1.1 * o[s].masking_adj : 0 < Math.abs(e.maskingadjust_short - 0) || (e.maskingadjust_short = 1.1 * o[s].masking_adj), 0 != a ? e.ATHlower = -o[s].ath_lower / 10 : 0 < Math.abs(10 * -e.ATHlower - 0) || (e.ATHlower = -o[s].ath_lower / 10), 0 != a ? e.ATHcurve = o[s].ath_curve : 0 < Math.abs(e.ATHcurve - -1) || (e.ATHcurve = o[s].ath_curve), 0 != a ? e.interChRatio = o[s].interch : 0 < Math.abs(e.interChRatio - -1) || (e.interChRatio = o[s].interch), t;
+ return 0 != a ? e.quant_comp = o[n].quant_comp : 0 < Math.abs(e.quant_comp - -1) || (e.quant_comp = o[n].quant_comp), 0 != a ? e.quant_comp_short = o[n].quant_comp_s : 0 < Math.abs(e.quant_comp_short - -1) || (e.quant_comp_short = o[n].quant_comp_s), 0 != a ? e.msfix = o[n].nsmsfix : 0 < Math.abs(e.msfix - -1) || (e.msfix = o[n].nsmsfix), 0 != a ? e.internal_flags.nsPsy.attackthre = o[n].st_lrm : 0 < Math.abs(e.internal_flags.nsPsy.attackthre - -1) || (e.internal_flags.nsPsy.attackthre = o[n].st_lrm), 0 != a ? e.internal_flags.nsPsy.attackthre_s = o[n].st_s : 0 < Math.abs(e.internal_flags.nsPsy.attackthre_s - -1) || (e.internal_flags.nsPsy.attackthre_s = o[n].st_s), 0 != a ? e.scale = o[n].scale : 0 < Math.abs(e.scale - -1) || (e.scale = o[n].scale), 0 != a ? e.maskingadjust = o[n].masking_adj : 0 < Math.abs(e.maskingadjust - 0) || (e.maskingadjust = o[n].masking_adj), 0 < o[n].masking_adj ? 0 != a ? e.maskingadjust_short = .9 * o[n].masking_adj : 0 < Math.abs(e.maskingadjust_short - 0) || (e.maskingadjust_short = .9 * o[n].masking_adj) : 0 != a ? e.maskingadjust_short = 1.1 * o[n].masking_adj : 0 < Math.abs(e.maskingadjust_short - 0) || (e.maskingadjust_short = 1.1 * o[n].masking_adj), 0 != a ? e.ATHlower = -o[n].ath_lower / 10 : 0 < Math.abs(10 * -e.ATHlower - 0) || (e.ATHlower = -o[n].ath_lower / 10), 0 != a ? e.ATHcurve = o[n].ath_curve : 0 < Math.abs(e.ATHcurve - -1) || (e.ATHcurve = o[n].ath_curve), 0 != a ? e.interChRatio = o[n].interch : 0 < Math.abs(e.interChRatio - -1) || (e.interChRatio = o[n].interch), t;
}
this.apply_preset = function (e, t, a) {
switch (t) {
- case Y.R3MIX:
- t = Y.V3, e.VBR = Me.vbr_mtrh;
+ case U.R3MIX:
+ t = U.V3, e.VBR = xe.vbr_mtrh;
break;
- case Y.MEDIUM:
- t = Y.V4, e.VBR = Me.vbr_rh;
+ case U.MEDIUM:
+ t = U.V4, e.VBR = xe.vbr_rh;
break;
- case Y.MEDIUM_FAST:
- t = Y.V4, e.VBR = Me.vbr_mtrh;
+ case U.MEDIUM_FAST:
+ t = U.V4, e.VBR = xe.vbr_mtrh;
break;
- case Y.STANDARD:
- t = Y.V2, e.VBR = Me.vbr_rh;
+ case U.STANDARD:
+ t = U.V2, e.VBR = xe.vbr_rh;
break;
- case Y.STANDARD_FAST:
- t = Y.V2, e.VBR = Me.vbr_mtrh;
+ case U.STANDARD_FAST:
+ t = U.V2, e.VBR = xe.vbr_mtrh;
break;
- case Y.EXTREME:
- t = Y.V0, e.VBR = Me.vbr_rh;
+ case U.EXTREME:
+ t = U.V0, e.VBR = xe.vbr_rh;
break;
- case Y.EXTREME_FAST:
- t = Y.V0, e.VBR = Me.vbr_mtrh;
+ case U.EXTREME_FAST:
+ t = U.V0, e.VBR = xe.vbr_mtrh;
break;
- case Y.INSANE:
- return t = 320, e.preset = t, s(e, t, a), e.VBR = Me.vbr_off, t;
+ case U.INSANE:
+ return t = 320, e.preset = t, n(e, t, a), e.VBR = xe.vbr_off, t;
}
switch (e.preset = t) {
- case Y.V9:
- return n(), t;
- case Y.V8:
- return n(), t;
- case Y.V7:
- return n(), t;
- case Y.V6:
- return n(), t;
- case Y.V5:
- return n(), t;
- case Y.V4:
- return n(), t;
- case Y.V3:
- return n(), t;
- case Y.V2:
- return n(), t;
- case Y.V1:
- return n(), t;
- case Y.V0:
- return n(), t;
+ case U.V9:
+ return s(e, 9, a), t;
+ case U.V8:
+ return s(e, 8, a), t;
+ case U.V7:
+ return s(e, 7, a), t;
+ case U.V6:
+ return s(e, 6, a), t;
+ case U.V5:
+ return s(e, 5, a), t;
+ case U.V4:
+ return s(e, 4, a), t;
+ case U.V3:
+ return s(e, 3, a), t;
+ case U.V2:
+ return s(e, 2, a), t;
+ case U.V1:
+ return s(e, 1, a), t;
+ case U.V0:
+ return s(e, 0, a), t;
}
- return 8 <= t && t <= 320 ? s(e, t, a) : (e.preset = 0, t);
+ return 8 <= t && t <= 320 ? n(e, t, a) : (e.preset = 0, t);
};
}(),
- _ = new T(),
- l = new C(),
- f = new y(),
+ _ = new x(),
+ l = new w(),
+ f = new M(),
c = new function () {
- this.getLameShortVersion = function () {
+ this.getLameVersion = function () {
return "3.98.4";
+ }, this.getLameShortVersion = function () {
+ return "3.98.4";
+ }, this.getLameVeryShortVersion = function () {
+ return "LAME3.98r";
+ }, this.getPsyVersion = function () {
+ return "0.93";
+ }, this.getLameUrl = function () {
+ return "http://www.mp3dev.org/";
+ }, this.getLameOsBitness = function () {
+ return "32bits";
};
}(),
- u = new function () {
- this.setModules = function (e, t) {};
- }(),
h = new function () {
+ this.setModules = function (e, t) {};
+ }(),
+ u = new function () {
var _;
this.setModules = function (e) {
_ = e;
}, this.ResvFrameBegin = function (e, t) {
var a,
- n = e.internal_flags,
- s = n.l3_side,
+ s = e.internal_flags,
+ n = s.l3_side,
r = _.getframebits(e);
- t.bits = (r - 8 * n.sideinfo_len) / n.mode_gr;
- var i = 2048 * n.mode_gr - 8;
- 320 < e.brate ? me() : (a = 11520, e.strict_ISO && me()), n.ResvMax = a - r, n.ResvMax > i && (n.ResvMax = i), (n.ResvMax < 0 || e.disable_reservoir) && (n.ResvMax = 0);
- var o = t.bits * n.mode_gr + Math.min(n.ResvSize, n.ResvMax);
- return a < o && (o = a), s.resvDrain_pre = 0, null != n.pinfo && me(), o;
- }, this.ResvMaxBits = function (e, t, a, n) {
- var s,
+ t.bits = (r - 8 * s.sideinfo_len) / s.mode_gr;
+ var i = 2048 * s.mode_gr - 8;
+ 320 < e.brate ? a = 8 * int(1e3 * e.brate / (e.out_samplerate / 1152) / 8 + .5) : (a = 11520, e.strict_ISO && (a = 8 * int(32e4 / (e.out_samplerate / 1152) / 8 + .5))), s.ResvMax = a - r, s.ResvMax > i && (s.ResvMax = i), (s.ResvMax < 0 || e.disable_reservoir) && (s.ResvMax = 0);
+ var o = t.bits * s.mode_gr + Math.min(s.ResvSize, s.ResvMax);
+ return a < o && (o = a), n.resvDrain_pre = 0, null != s.pinfo && (s.pinfo.mean_bits = t.bits / 2, s.pinfo.resvsize = s.ResvSize), o;
+ }, this.ResvMaxBits = function (e, t, a, s) {
+ var n,
r = e.internal_flags,
i = r.ResvSize,
o = r.ResvMax;
- 0 != n && (i += t), 0 != (1 & r.substep_shaping) && (o *= .9), a.bits = t, 9 * o < 10 * i ? (s = i - 9 * o / 10, a.bits += s, r.substep_shaping |= 128) : (s = 0, r.substep_shaping &= 127, e.disable_reservoir || 0 != (1 & r.substep_shaping) || (a.bits -= .1 * t));
+ 0 != s && (i += t), 0 != (1 & r.substep_shaping) && (o *= .9), a.bits = t, 9 * o < 10 * i ? (n = i - 9 * o / 10, a.bits += n, r.substep_shaping |= 128) : (n = 0, r.substep_shaping &= 127, e.disable_reservoir || 0 != (1 & r.substep_shaping) || (a.bits -= .1 * t));
var _ = i < 6 * r.ResvMax / 10 ? i : 6 * r.ResvMax / 10;
- return (_ -= s) < 0 && (_ = 0), _;
+ return (_ -= n) < 0 && (_ = 0), _;
}, this.ResvAdjust = function (e, t) {
e.ResvSize -= t.part2_3_length + t.part2_length;
}, this.ResvFrameEnd = function (e, t) {
var a,
- n = e.l3_side;
+ s = e.l3_side;
e.ResvSize += t * e.mode_gr;
- var s = 0;
- n.resvDrain_post = 0, (n.resvDrain_pre = 0) != (a = e.ResvSize % 8) && (s += a), 0 < (a = e.ResvSize - s - e.ResvMax) && (s += a);
- var r = Math.min(8 * n.main_data_begin, s) / 8;
- n.resvDrain_pre += 8 * r, s -= 8 * r, e.ResvSize -= 8 * r, n.main_data_begin -= r, n.resvDrain_post += s, e.ResvSize -= s;
+ var n = 0;
+ s.resvDrain_post = 0, (s.resvDrain_pre = 0) != (a = e.ResvSize % 8) && (n += a), 0 < (a = e.ResvSize - n - e.ResvMax) && (n += a);
+ var r = Math.min(8 * s.main_data_begin, n) / 8;
+ s.resvDrain_pre += 8 * r, n -= 8 * r, e.ResvSize -= 8 * r, s.main_data_begin -= r, s.resvDrain_post += n, e.ResvSize -= n;
};
}(),
- b = new A(),
+ m = new k(),
p = new function () {
this.setModules = function (e, t, a) {};
}(),
- m = new function () {}();
- s.setModules(r, i, o, _, l, f, c, u, m), i.setModules(r, m, c, f), u.setModules(i, c), o.setModules(s), l.setModules(i, h, _, b), _.setModules(b, h, s.enc.psy), h.setModules(i), b.setModules(_), f.setModules(s, i, c), a.setModules(p, m), p.setModules(c, u, o);
- var v = s.lame_init();
- v.num_channels = n, v.in_samplerate = e, v.out_samplerate = e, v.brate = t, v.mode = ye.STEREO, v.quality = 3, v.bWriteVbrTag = !1, v.disable_reservoir = !0, v.write_id3tag_automatic = !1, s.lame_init_params(v);
+ b = new function () {}();
+ n.setModules(r, i, o, _, l, f, c, h, b), i.setModules(r, b, c, f), h.setModules(i, c), o.setModules(n), l.setModules(i, u, _, m), _.setModules(m, u, n.enc.psy), u.setModules(i), m.setModules(_), f.setModules(n, i, c), a.setModules(p, b), p.setModules(c, h, o);
+ var v = n.lame_init();
+ v.num_channels = s, v.in_samplerate = e, v.out_samplerate = e, v.brate = t, v.mode = Ee.STEREO, v.quality = 3, v.bWriteVbrTag = !1, v.disable_reservoir = !0, v.write_id3tag_automatic = !1, n.lame_init_params(v);
var d = 1152,
g = 0 | 1.25 * d + 7200,
- w = S(g);
+ S = A(g);
this.encodeBuffer = function (e, t) {
- 1 == n && (t = e), e.length > d && (d = e.length, w = S(g = 0 | 1.25 * d + 7200));
- var a = s.lame_encode_buffer(v, e, t, e.length, w, 0, g);
- return new Int8Array(w.subarray(0, a));
+ 1 == s && (t = e), e.length > d && (d = e.length, S = A(g = 0 | 1.25 * d + 7200));
+ var a = n.lame_encode_buffer(v, e, t, e.length, S, 0, g);
+ return new Int8Array(S.subarray(0, a));
}, this.flush = function () {
- var e = s.lame_encode_flush(v, w, 0, g);
- return new Int8Array(w.subarray(0, e));
+ var e = n.lame_encode_flush(v, S, 0, g);
+ return new Int8Array(S.subarray(0, e));
};
};
}
- t(), e.lamejs = t;
-}(("object" == typeof window && window.document ? window : Object).Recorder);
+ t(), Recorder.lamejs = t;
+}();
});
/*
录音 Recorder扩展,动态波形显示
https://github.com/xiangyuecn/Recorder
*/
-(function (factory) {
- var browser = typeof window == "object" && !!window.document;
- var win = browser ? window : Object; //非浏览器环境,Recorder挂载在Object下面
- var rec = win.Recorder,
- ni = rec.i18n;
- factory(rec, ni, ni.$T, browser);
-})(function (Recorder, i18n, $T, isBrowser) {
-
+(function () {
var WaveView = function (set) {
return new fn(set);
};
@@ -37272,12 +37590,7 @@ https://github.com/xiangyuecn/Recorder
,width:0 //显示宽度
,height:0 //显示高度
- H5环境以上配置二选一
-
- compatibleCanvas: CanvasObject //提供一个兼容H5的canvas对象,需支持getContext("2d"),支持设置width、height,支持drawImage(canvas,...)
- ,width:0 //canvas显示宽度
- ,height:0 //canvas显示高度
- 非H5环境使用以上配置
+ 以上配置二选一
*/
scale: 2 //缩放系数,应为正整数,使用2(3? no!)倍宽高进行绘制,避免移动端绘制模糊
@@ -37306,44 +37619,38 @@ https://github.com/xiangyuecn/Recorder
o[k] = set[k];
}
This.set = set = o;
- var cCanvas = "compatibleCanvas";
- if (set[cCanvas]) {
- var canvas = This.canvas = set[cCanvas];
- } else {
- if (!isBrowser) throw new Error($T.G("NonBrowser-1", [ViewTxt]));
- var elem = set.elem;
- if (elem) {
- if (typeof elem == "string") {
- elem = document.querySelector(elem);
- } else if (elem.length) {
- elem = elem[0];
- }
- }
- if (elem) {
- set.width = elem.offsetWidth;
- set.height = elem.offsetHeight;
- }
- var thisElem = This.elem = document.createElement("div");
- thisElem.style.fontSize = 0;
- thisElem.innerHTML = '';
- var canvas = This.canvas = thisElem.querySelector("canvas");
- if (elem) {
- elem.innerHTML = "";
- elem.appendChild(thisElem);
+ var elem = set.elem;
+ if (elem) {
+ if (typeof elem == "string") {
+ elem = document.querySelector(elem);
+ } else if (elem.length) {
+ elem = elem[0];
}
}
+ if (elem) {
+ set.width = elem.offsetWidth;
+ set.height = elem.offsetHeight;
+ }
var scale = set.scale;
var width = set.width * scale;
var height = set.height * scale;
if (!width || !height) {
- throw new Error($T.G("IllegalArgs-1", [ViewTxt + " width=0 height=0"]));
+ throw new Error(ViewTxt + "无宽高");
}
+ var thisElem = This.elem = document.createElement("div");
+ var lowerCss = ["", "transform-origin:0 0;", "transform:scale(" + 1 / scale + ");"];
+ thisElem.innerHTML = '';
+ var canvas = This.canvas = thisElem.querySelector("canvas");
+ var ctx = This.ctx = canvas.getContext("2d");
canvas.width = width;
canvas.height = height;
- var ctx = This.ctx = canvas.getContext("2d");
This.linear1 = This.genLinear(ctx, width, set.linear1);
This.linear2 = This.genLinear(ctx, width, set.linear2);
This.linearBg = This.genLinear(ctx, height, set.linearBg, true);
+ if (elem) {
+ elem.innerHTML = "";
+ elem.appendChild(thisElem);
+ }
This._phase = 0;
};
fn.prototype = WaveView.prototype = {
@@ -37362,7 +37669,7 @@ https://github.com/xiangyuecn/Recorder
var scale = set.scale;
var width = set.width * scale;
var maxAmplitude = set.height * scale / 2;
- for (var x = 0; x <= width; x += scale) {
+ for (var x = 0; x < width; x += scale) {
var scaling = (1 + Math.cos(Math.PI + x / width * 2 * Math.PI)) / 2;
var y = scaling * maxAmplitude * amplitude * Math.sin(2 * Math.PI * (x / width) * frequency + phase) + maxAmplitude;
rtv.push(y);
@@ -37434,7 +37741,7 @@ https://github.com/xiangyuecn/Recorder
//绘制包围背景
ctx.beginPath();
- for (var i = 0, x = 0; x <= width; i++, x += scale) {
+ for (var i = 0, x = 0; x < width; i++, x += scale) {
if (x == 0) {
ctx.moveTo(x, path1[i]);
} else {
@@ -37460,7 +37767,7 @@ https://github.com/xiangyuecn/Recorder
var scale = set.scale;
var width = set.width * scale;
ctx.beginPath();
- for (var i = 0, x = 0; x <= width; i++, x += scale) {
+ for (var i = 0, x = 0; x < width; i++, x += scale) {
if (x == 0) {
ctx.moveTo(x, path[i]);
} else {
@@ -37473,11 +37780,11 @@ https://github.com/xiangyuecn/Recorder
}
};
Recorder[ViewTxt] = WaveView;
-});
+})();
/*
录音 Recorder扩展,频率直方图显示
-使用本扩展需要引入src/extensions/lib.fft.js支持,直方图特意优化主要显示0-5khz语音部分(线性),其他高频显示区域较小,不适合用来展示音乐频谱,可通过配置fullFreq来恢复成完整的线性频谱,或自行修改源码修改成倍频程频谱(伯德图、对数频谱);本可视化插件可以移植到其他语言环境,如需定制可联系作者
+使用本扩展需要引入lib.fft.js支持,直方图特意优化主要显示0-5khz语音部分(线性),其他高频显示区域较小,不适合用来展示音乐频谱,可自行修改源码恢复成完整的线性频谱,或修改成倍频程频谱(伯德图、对数频谱);本可视化插件可以移植到其他语言环境,如需定制可联系作者
https://github.com/xiangyuecn/Recorder
@@ -37485,13 +37792,7 @@ https://github.com/xiangyuecn/Recorder
https://www.iteye.com/topic/851459
https://sourceforge.net/projects/jmp123/files/
*/
-(function (factory) {
- var browser = typeof window == "object" && !!window.document;
- var win = browser ? window : Object; //非浏览器环境,Recorder挂载在Object下面
- var rec = win.Recorder,
- ni = rec.i18n;
- factory(rec, ni, ni.$T, browser);
-})(function (Recorder, i18n, $T, isBrowser) {
+(function () {
var FrequencyHistogramView = function (set) {
return new fn(set);
@@ -37506,12 +37807,7 @@ https://sourceforge.net/projects/jmp123/files/
,width:0 //显示宽度
,height:0 //显示高度
- H5环境以上配置二选一
-
- compatibleCanvas: CanvasObject //提供一个兼容H5的canvas对象,需支持getContext("2d"),支持设置width、height,支持drawImage(canvas,...)
- ,width:0 //canvas显示宽度
- ,height:0 //canvas显示高度
- 非H5环境使用以上配置
+ 以上配置二选一
*/
scale: 2 //缩放系数,应为正整数,使用2(3? no!)倍宽高进行绘制,避免移动端绘制模糊
@@ -37557,9 +37853,7 @@ https://sourceforge.net/projects/jmp123/files/
stripeShadowBlur: -1 //峰值小横条阴影基础大小,设为0不显示阴影,-1为柱子的大小,如果柱子数量太多时请勿开启,非常影响性能
,
stripeShadowColor: "" //峰值小横条阴影颜色,留空为柱子的阴影颜色
- ,
- fullFreq: false //是否要绘制所有频率;默认false主要绘制5khz以下的频率,高频部分占比很少,此时不同的采样率对频谱显示几乎没有影响;设为true后不同采样率下显示的频谱是不一样的,因为 最大频率=采样率/2 会有差异
//当发生绘制时会回调此方法,参数为当前绘制的频率数据和采样率,可实现多个直方图同时绘制,只消耗一个input输入和计算时间
,
onDraw: function (frequencyData, sampleRate) {}
@@ -37568,43 +37862,37 @@ https://sourceforge.net/projects/jmp123/files/
o[k] = set[k];
}
This.set = set = o;
- var cCanvas = "compatibleCanvas";
- if (set[cCanvas]) {
- var canvas = This.canvas = set[cCanvas];
- } else {
- if (!isBrowser) throw new Error($T.G("NonBrowser-1", [ViewTxt]));
- var elem = set.elem;
- if (elem) {
- if (typeof elem == "string") {
- elem = document.querySelector(elem);
- } else if (elem.length) {
- elem = elem[0];
- }
- }
- if (elem) {
- set.width = elem.offsetWidth;
- set.height = elem.offsetHeight;
- }
- var thisElem = This.elem = document.createElement("div");
- thisElem.style.fontSize = 0;
- thisElem.innerHTML = '';
- var canvas = This.canvas = thisElem.querySelector("canvas");
- if (elem) {
- elem.innerHTML = "";
- elem.appendChild(thisElem);
+ var elem = set.elem;
+ if (elem) {
+ if (typeof elem == "string") {
+ elem = document.querySelector(elem);
+ } else if (elem.length) {
+ elem = elem[0];
}
}
+ if (elem) {
+ set.width = elem.offsetWidth;
+ set.height = elem.offsetHeight;
+ }
var scale = set.scale;
var width = set.width * scale;
var height = set.height * scale;
if (!width || !height) {
- throw new Error($T.G("IllegalArgs-1", [ViewTxt + " width=0 height=0"]));
+ throw new Error(ViewTxt + "无宽高");
}
+ var thisElem = This.elem = document.createElement("div");
+ var lowerCss = ["", "transform-origin:0 0;", "transform:scale(" + 1 / scale + ");"];
+ thisElem.innerHTML = '';
+ var canvas = This.canvas = thisElem.querySelector("canvas");
+ This.ctx = canvas.getContext("2d");
canvas.width = width;
canvas.height = height;
- This.ctx = canvas.getContext("2d");
+ if (elem) {
+ elem.innerHTML = "";
+ elem.appendChild(thisElem);
+ }
if (!Recorder.LibFFT) {
- throw new Error($T.G("NeedImport-2", [ViewTxt, "src/extensions/lib.fft.js"]));
+ throw new Error("需要lib.fft.js支持");
}
This.fft = Recorder.LibFFT(1024);
@@ -37644,9 +37932,6 @@ https://sourceforge.net/projects/jmp123/files/
//超时没有输入,顶部横条已全部落下,干掉定时器
clearInterval(This.timer);
This.timer = 0;
- This.lastH = []; //重置高度再绘制一次,避免定时不准没到底就停了
- This.stripesH = [];
- This.draw(null, This.sampleRate);
return;
}
if (now - drawTime < interval) {
@@ -37698,19 +37983,15 @@ https://sourceforge.net/projects/jmp123/files/
var Y0 = 1 << (Math.round(Math.log(bufferSize) / Math.log(2) + 3) << 1);
var logY0 = Math.log(Y0) / Math.log(10);
var dBmax = 20 * Math.log(0x7fff) / Math.log(10);
- var fftSize = bufferSize / 2,
- fftSize5k = fftSize;
- if (!set.fullFreq) {
- //非绘制所有频率时,计算5khz所在位置,8000采样率及以下最高只有4khz
- fftSize5k = Math.min(fftSize, Math.floor(fftSize * 5000 / (sampleRate / 2)));
- }
- var isFullFreq = fftSize5k == fftSize;
- var line80 = isFullFreq ? lineCount : Math.round(lineCount * 0.8); //80%的柱子位置
+ var fftSize = bufferSize / 2;
+ var fftSize5k = Math.min(fftSize, Math.floor(fftSize * 5000 / (sampleRate / 2))); //5khz所在位置,8000采样率及以下最高只有4khz
+ var fftSize5kIsAll = fftSize5k == fftSize;
+ var line80 = fftSize5kIsAll ? lineCount : Math.round(lineCount * 0.8); //80%的柱子位置
var fftSizeStep1 = fftSize5k / line80;
- var fftSizeStep2 = isFullFreq ? 0 : (fftSize - fftSize5k) / (lineCount - line80);
+ var fftSizeStep2 = fftSize5kIsAll ? 0 : (fftSize - fftSize5k) / (lineCount - line80);
var fftIdx = 0;
for (var i = 0; i < lineCount; i++) {
- // !fullFreq 时不采用jmp123的非线性划分频段,录音语音并不适用于音乐的频率,应当弱化高频部分
+ //不采用jmp123的非线性划分频段,录音语音并不适用于音乐的频率,应当弱化高频部分
//80%关注0-5khz主要人声部分 20%关注剩下的高频,这样不管什么采样率都能做到大部分频率显示一致。
var start = Math.ceil(fftIdx);
if (i < line80) {
@@ -37720,18 +38001,14 @@ https://sourceforge.net/projects/jmp123/files/
//5khz以上
fftIdx += fftSizeStep2;
}
- var end = Math.ceil(fftIdx);
- if (end == start) end++;
- end = Math.min(end, fftSize);
+ var end = Math.min(Math.ceil(fftIdx), fftSize);
//参考AudioGUI.java .drawHistogram方法
//查找当前频段的最大"幅值"
var maxAmp = 0;
- if (frequencyData) {
- for (var j = start; j < end; j++) {
- maxAmp = Math.max(maxAmp, Math.abs(frequencyData[j]));
- }
+ for (var j = start; j < end; j++) {
+ maxAmp = Math.max(maxAmp, Math.abs(frequencyData[j]));
}
//计算音量
@@ -37769,6 +38046,8 @@ https://sourceforge.net/projects/jmp123/files/
var stripeLinear2 = set.stripeLinear && This.genLinear(ctx, set.stripeLinear, originY, originY + heightY) || linear2; //上半部分的峰值小横条填充
//计算柱子间距
+ ctx.shadowBlur = set.shadowBlur * scale;
+ ctx.shadowColor = set.shadowColor;
var mirrorEnable = set.mirrorEnable;
var mirrorCount = mirrorEnable ? lineCount * 2 - 1 : lineCount; //镜像柱子数量翻一倍-1根
@@ -37777,105 +38056,78 @@ https://sourceforge.net/projects/jmp123/files/
if (spaceWidth != 0) {
widthRatio = (width - spaceWidth * (mirrorCount + 1)) / width;
}
- for (var i = 0; i < 2; i++) {
- var lineFloat = Math.max(1 * scale, width * widthRatio / mirrorCount); //柱子宽度至少1个单位
- var lineWN = Math.floor(lineFloat),
- lineWF = lineFloat - lineWN; //提取出小数部分
- var spaceFloat = (width - mirrorCount * lineFloat) / (mirrorCount + 1); //均匀间隔,首尾都留空,可能为负数,柱子将发生重叠
- if (spaceFloat > 0 && spaceFloat < 1) {
- widthRatio = 1;
- spaceFloat = 0; //不够一个像素,丢弃不绘制间隔,重新计算
- } else break;
+ var lineWidth = Math.max(1 * scale, Math.floor(width * widthRatio / mirrorCount)); //柱子宽度至少1个单位
+ var spaceFloat = (width - mirrorCount * lineWidth) / (mirrorCount + 1); //均匀间隔,首尾都留空,可能为负数,柱子将发生重叠
+
+ //绘制柱子
+ var minHeight = set.minHeight * scale;
+ var mirrorSubX = spaceFloat + lineWidth / 2;
+ var XFloat = mirrorEnable ? width / 2 - mirrorSubX : 0; //镜像时,中间柱子位于正中心
+ for (var i = 0, xFloat = XFloat, x, y, h; i < lineCount; i++) {
+ xFloat += spaceFloat;
+ x = Math.floor(xFloat);
+ h = Math.max(lastH[i], minHeight);
+
+ //绘制上半部分
+ if (originY != 0) {
+ y = originY - h;
+ ctx.fillStyle = linear1;
+ ctx.fillRect(x, y, lineWidth, h);
+ }
+ //绘制下半部分
+ if (originY != height) {
+ ctx.fillStyle = linear2;
+ ctx.fillRect(x, originY, lineWidth, h);
+ }
+ xFloat += lineWidth;
}
- //绘制
- var minHeight = set.minHeight * scale;
- var XFloat = mirrorEnable ? (width - lineWN) / 2 - spaceFloat : 0; //镜像时,中间柱子位于正中心
- for (var iMirror = 0; iMirror < 2; iMirror++) {
- if (iMirror) {
- ctx.save();
- ctx.scale(-1, 1);
- }
- var xMirror = iMirror ? width : 0; //绘制镜像部分,不用drawImage(canvas)进行镜像绘制,提升兼容性(iOS微信小程序bug https://developers.weixin.qq.com/community/develop/doc/000aaca2148dc8a235a0fb8c66b000)
-
- //绘制柱子
- ctx.shadowBlur = set.shadowBlur * scale;
- ctx.shadowColor = set.shadowColor;
- for (var i = 0, xFloat = XFloat, wFloat = 0, x, y, w, h; i < lineCount; i++) {
+ //绘制柱子顶上峰值小横条
+ if (set.stripeEnable) {
+ var stripeShadowBlur = set.stripeShadowBlur;
+ ctx.shadowBlur = (stripeShadowBlur == -1 ? set.shadowBlur : stripeShadowBlur) * scale;
+ ctx.shadowColor = set.stripeShadowColor || set.shadowColor;
+ var stripeHeight = set.stripeHeight * scale;
+ for (var i = 0, xFloat = XFloat, x, y, h; i < lineCount; i++) {
xFloat += spaceFloat;
- x = Math.floor(xFloat) - xMirror;
- w = lineWN;
- wFloat += lineWF;
- if (wFloat >= 1) {
- w++;
- wFloat--;
- } //小数凑够1像素
- h = Math.max(lastH[i], minHeight);
+ x = Math.floor(xFloat);
+ h = stripesH[i];
//绘制上半部分
if (originY != 0) {
- y = originY - h;
- ctx.fillStyle = linear1;
- ctx.fillRect(x, y, w, h);
+ y = originY - h - stripeHeight;
+ if (y < 0) {
+ y = 0;
+ }
+ ctx.fillStyle = stripeLinear1;
+ ctx.fillRect(x, y, lineWidth, stripeHeight);
}
//绘制下半部分
if (originY != height) {
- ctx.fillStyle = linear2;
- ctx.fillRect(x, originY, w, h);
- }
- xFloat += w;
- }
-
- //绘制柱子顶上峰值小横条
- if (set.stripeEnable) {
- var stripeShadowBlur = set.stripeShadowBlur;
- ctx.shadowBlur = (stripeShadowBlur == -1 ? set.shadowBlur : stripeShadowBlur) * scale;
- ctx.shadowColor = set.stripeShadowColor || set.shadowColor;
- var stripeHeight = set.stripeHeight * scale;
- for (var i = 0, xFloat = XFloat, wFloat = 0, x, y, w, h; i < lineCount; i++) {
- xFloat += spaceFloat;
- x = Math.floor(xFloat) - xMirror;
- w = lineWN;
- wFloat += lineWF;
- if (wFloat >= 1) {
- w++;
- wFloat--;
- } //小数凑够1像素
- h = stripesH[i];
-
- //绘制上半部分
- if (originY != 0) {
- y = originY - h - stripeHeight;
- if (y < 0) {
- y = 0;
- }
- ctx.fillStyle = stripeLinear1;
- ctx.fillRect(x, y, w, stripeHeight);
+ y = originY + h;
+ if (y + stripeHeight > height) {
+ y = height - stripeHeight;
}
- //绘制下半部分
- if (originY != height) {
- y = originY + h;
- if (y + stripeHeight > height) {
- y = height - stripeHeight;
- }
- ctx.fillStyle = stripeLinear2;
- ctx.fillRect(x, y, w, stripeHeight);
- }
- xFloat += w;
+ ctx.fillStyle = stripeLinear2;
+ ctx.fillRect(x, y, lineWidth, stripeHeight);
}
+ xFloat += lineWidth;
}
- if (iMirror) {
- ctx.restore();
- }
- if (!mirrorEnable) break;
}
- if (frequencyData) {
- set.onDraw(frequencyData, sampleRate);
+
+ //镜像,从中间直接镜像即可
+ if (mirrorEnable) {
+ var srcW = Math.floor(width / 2);
+ ctx.save();
+ ctx.scale(-1, 1);
+ ctx.drawImage(This.canvas, Math.ceil(width / 2), 0, srcW, height, -srcW, 0, srcW, height);
+ ctx.restore();
}
+ set.onDraw(frequencyData, sampleRate);
}
};
Recorder[ViewTxt] = FrequencyHistogramView;
-});
+})();
/*
时域转频域,快速傅里叶变换(FFT)
@@ -37889,117 +38141,110 @@ fft.transform(inBuffer)
inBuffer:[Int16,...] 数组长度必须是bufferSize
返回[Float64(Long),...],长度为bufferSize/2
*/
-(function (factory) {
- var browser = typeof window == "object" && !!window.document;
- var win = browser ? window : Object; //非浏览器环境,Recorder挂载在Object下面
- var rec = win.Recorder,
- ni = rec.i18n;
- factory(rec, ni, ni.$T, browser);
-})(function (Recorder, i18n, $T, isBrowser) {
+
+/*
+从FFT.java 移植,Java开源库:jmp123 版本0.3
+https://www.iteye.com/topic/851459
+https://sourceforge.net/projects/jmp123/files/
+*/
+Recorder.LibFFT = function (bufferSize) {
+
+ var FFT_N_LOG, FFT_N, MINY;
+ var real, imag, sintable, costable;
+ var bitReverse;
+ var FFT_Fn = function (bufferSize) {
+ //bufferSize只能取值2的n次方
+ FFT_N_LOG = Math.round(Math.log(bufferSize) / Math.log(2));
+ FFT_N = 1 << FFT_N_LOG;
+ MINY = (FFT_N << 2) * Math.sqrt(2);
+ real = [];
+ imag = [];
+ sintable = [0];
+ costable = [0];
+ bitReverse = [];
+ var i, j, k, reve;
+ for (i = 0; i < FFT_N; i++) {
+ k = i;
+ for (j = 0, reve = 0; j != FFT_N_LOG; j++) {
+ reve <<= 1;
+ reve |= k & 1;
+ k >>>= 1;
+ }
+ bitReverse[i] = reve;
+ }
+ var theta,
+ dt = 2 * Math.PI / FFT_N;
+ for (i = (FFT_N >> 1) - 1; i > 0; i--) {
+ theta = i * dt;
+ costable[i] = Math.cos(theta);
+ sintable[i] = Math.sin(theta);
+ }
+ };
/*
- 从FFT.java 移植,Java开源库:jmp123 版本0.3
- https://www.iteye.com/topic/851459
- https://sourceforge.net/projects/jmp123/files/
+ 用于频谱显示的快速傅里叶变换
+ inBuffer 输入FFT_N个实数,返回 FFT_N/2个输出值(复数模的平方)。
*/
- Recorder.LibFFT = function (bufferSize) {
- var FFT_N_LOG, FFT_N, MINY;
- var real, imag, sintable, costable;
- var bitReverse;
- var FFT_Fn = function (bufferSize) {
- //bufferSize只能取值2的n次方
- FFT_N_LOG = Math.round(Math.log(bufferSize) / Math.log(2));
- FFT_N = 1 << FFT_N_LOG;
- MINY = (FFT_N << 2) * Math.sqrt(2);
- real = [];
- imag = [];
- sintable = [0];
- costable = [0];
- bitReverse = [];
- var i, j, k, reve;
- for (i = 0; i < FFT_N; i++) {
- k = i;
- for (j = 0, reve = 0; j != FFT_N_LOG; j++) {
- reve <<= 1;
- reve |= k & 1;
- k >>>= 1;
+ var getModulus = function (inBuffer) {
+ var i,
+ j,
+ k,
+ ir,
+ j0 = 1,
+ idx = FFT_N_LOG - 1;
+ var cosv, sinv, tmpr, tmpi;
+ for (i = 0; i != FFT_N; i++) {
+ real[i] = inBuffer[bitReverse[i]];
+ imag[i] = 0;
+ }
+ for (i = FFT_N_LOG; i != 0; i--) {
+ for (j = 0; j != j0; j++) {
+ cosv = costable[j << idx];
+ sinv = sintable[j << idx];
+ for (k = j; k < FFT_N; k += j0 << 1) {
+ ir = k + j0;
+ tmpr = cosv * real[ir] - sinv * imag[ir];
+ tmpi = cosv * imag[ir] + sinv * real[ir];
+ real[ir] = real[k] - tmpr;
+ imag[ir] = imag[k] - tmpi;
+ real[k] += tmpr;
+ imag[k] += tmpi;
}
- bitReverse[i] = reve;
}
- var theta,
- dt = 2 * Math.PI / FFT_N;
- for (i = (FFT_N >> 1) - 1; i > 0; i--) {
- theta = i * dt;
- costable[i] = Math.cos(theta);
- sintable[i] = Math.sin(theta);
- }
- };
-
+ j0 <<= 1;
+ idx--;
+ }
+ j = FFT_N >> 1;
+ var outBuffer = new Float64Array(j);
/*
- 用于频谱显示的快速傅里叶变换
- inBuffer 输入FFT_N个实数,返回 FFT_N/2个输出值(复数模的平方)。
- */
- var getModulus = function (inBuffer) {
- var i,
- j,
- k,
- ir,
- j0 = 1,
- idx = FFT_N_LOG - 1;
- var cosv, sinv, tmpr, tmpi;
- for (i = 0; i != FFT_N; i++) {
- real[i] = inBuffer[bitReverse[i]];
- imag[i] = 0;
- }
- for (i = FFT_N_LOG; i != 0; i--) {
- for (j = 0; j != j0; j++) {
- cosv = costable[j << idx];
- sinv = sintable[j << idx];
- for (k = j; k < FFT_N; k += j0 << 1) {
- ir = k + j0;
- tmpr = cosv * real[ir] - sinv * imag[ir];
- tmpi = cosv * imag[ir] + sinv * real[ir];
- real[ir] = real[k] - tmpr;
- imag[ir] = imag[k] - tmpi;
- real[k] += tmpr;
- imag[k] += tmpi;
- }
- }
- j0 <<= 1;
- idx--;
- }
- j = FFT_N >> 1;
- var outBuffer = new Float64Array(j);
- /*
- * 输出模的平方:
- * for(i = 1; i <= j; i++)
- * inBuffer[i-1] = real[i] * real[i] + imag[i] * imag[i];
- *
- * 如果FFT只用于频谱显示,可以"淘汰"幅值较小的而减少浮点乘法运算. MINY的值
- * 和Spectrum.Y0,Spectrum.logY0对应.
- */
- sinv = MINY;
- cosv = -MINY;
- for (i = j; i != 0; i--) {
- tmpr = real[i];
- tmpi = imag[i];
- if (tmpr > cosv && tmpr < sinv && tmpi > cosv && tmpi < sinv) outBuffer[i - 1] = 0;else outBuffer[i - 1] = Math.round(tmpr * tmpr + tmpi * tmpi);
- }
- return outBuffer;
- };
- FFT_Fn(bufferSize);
- return {
- transform: getModulus,
- bufferSize: FFT_N
- };
+ * 输出模的平方:
+ * for(i = 1; i <= j; i++)
+ * inBuffer[i-1] = real[i] * real[i] + imag[i] * imag[i];
+ *
+ * 如果FFT只用于频谱显示,可以"淘汰"幅值较小的而减少浮点乘法运算. MINY的值
+ * 和Spectrum.Y0,Spectrum.logY0对应.
+ */
+ sinv = MINY;
+ cosv = -MINY;
+ for (i = j; i != 0; i--) {
+ tmpr = real[i];
+ tmpi = imag[i];
+ if (tmpr > cosv && tmpr < sinv && tmpi > cosv && tmpi < sinv) outBuffer[i - 1] = 0;else outBuffer[i - 1] = Math.round(tmpr * tmpr + tmpi * tmpi);
+ }
+ return outBuffer;
};
-});
+ FFT_Fn(bufferSize);
+ return {
+ transform: getModulus,
+ bufferSize: FFT_N
+ };
+};
-var playIcon$6 = "data:image/png;base64,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";
+var playIcon$5 = "data:image/png;base64,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";
-var pauseIcon$5 = "data:image/png;base64,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";
+var pauseIcon$4 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGgAAABoCAYAAAAdHLWhAAAAAXNSR0IArs4c6QAAGXJJREFUeF7tXQl4W8W1/s+9krzL1mJnJSQhiSHkKwQCjyUxlpNACWtp2VraAuU9KGssQ4ACbV7hA5LYcqBAWQqUthRKeSylULJZTghLgbCVpIFsLCFxbC3eN0l3Xs/IcrzIlixLF2e53xdCdOfOmTn/nDlnzpw5Q9hHnrl3N9pEeudh0MRhgmgihDaOFGWUAOwQNBokbAClE0SNEPi5u8y+Zh/p2qDNpJHaieJlvhkgcQKRdgKBjhFEhQAyu9tLBAjRv/ncI4E2d6k1C0RRCuz9hEFf8wuzd6TygNs1YgBavFgo7vSa08hoOJVIORXAdMm4MMPjfLoL17pLraMHA8hRXrcEBvU6CLyrtAYuXHPbqD1xEtG12LcOUPES73jFoF0kSLkORBNk76NJxsBsaQbQCqCZIEIC1KAQrl9Tant7oE8cS2sXwKi+GqYl//uk22m7XFfOx0nsWwPolKW75iiq6SoQXQAiQwxQWoTAJiJsAmijILFDBb4Bgnuow+i1tFva/rqYOuPsM05Z7jlO0ejdHuWdbqetcqDviyo9Rygm7evqawp4MOj66A6Qo9xznjAo15ImHBhIj8hxTWsFxHpVwzqDYtiwwpnrSyZnHBW+BUIRlyoQb1SV2n8Tre7znxOq9yvfn4RKF0FodQL0SLBDda2/Nc+fzLYMVpduADnu3X0kjMYHQXTKgA0S+BQQj6mq8tLqhdav9GLCQHSKy2tnk6K+0es9wY+Qdov7xvxH9WhfygE6/X6vuT0g7oaiXDOAfukkiOdAhierSvOq9Oh0vDTmVtZP1kRoW7/yYcl/C8HgIveiUW/GW18i5VIKUPHS2gvJoN4HolFRdIxXEH5j7NQeW3Vz/q5EGq/HNyWVvtOFEC4Ah/eWpIiZr1WKxuZfVC+e1J6K9qQEoLMW78psyjY9S6pyVhSpESD8Su2g+1ffYm1IRadSUWeJy3OtAN0JIK/PlMcacyeFxE+rbrInfQZIOkBFFbUzVTI8B8KU/lJDL0MJ3exemP9ZKpiY6jqLl9aOJlUpB9GPotEiIa6uKrP/NpntSCpAJeW11wnVcH9/qaGtgLjN7bQ9l8zGf1t1lbh8ZwmBu0FiRj9p0sTTjdm2yzZcSYFktC9pADlc3ieg0GXQ+iz7iX5rH2e57q8XUCgZDR5JdZS4vOUCKOsLEgH/DkCb+0Zp/u7htjcpADnK6/4MVb2475QmoCysdlruG24jR/L3xS7vzwh4rJfbTFp52s4gieOHC9KwADp/sTB5zL5XQZjXx1+2XVHoe2sWWj8ZycxNVtscy+sKoanPAeI7fer0KIpYsGah/b1EaSUMEIPjy/X/UxPi6N7ExdrsrM4Fr1w5lv1jB84jBJW4/C8IEuf27TSRemxVad4HiTAjYYAcFb61UFDUZ1p7ze20nZFIQ/aXbxwVnj/1s/IE2kxkGJ+IuyohgBwVdU9DUX/YCxyiZ9yl1h/uL4weTj+KXf5ygtbbeAA+Vzvp+KGu/YYMkMPl/T0U5afQtL19IPqLu9R60XA6tb99W1zpW0ZC3NirX0JsdpfZjxhKX4cEUMm9u38uMjIeQmivxSxA7mqntWQoRA+UsiWV3ieFwKU9+0vAs1VO28Xx8iBugBxLvimEKWOz3AnoXurQR26ndWa8xA7Ecg6X/3lA+37PvgvQxdVO67Px8CMugIoX70in3NwtAMb30Dv1nQFtwps35zfFQ+hALuNweT8CcFRvkEJTq50FW2PxJS6AHOV1q2AwzOuld1R1lvuGvA2xCBx8D8x+qN5ibA/VAVC7+UHY5S61jYvFn5gAOe6tOQfpaS/1BEcAd1U7bXfEqvzg+70cKF7uvZA09J3WfuV22n49GJ8GBej8xRtNHvNoH4iyuqc2Ba+7F9pOP8j8oXMgmmUXEpiwrsz29UC1DQqQY1ndwzAaruwhPZ3GUMC68qbRLUNv3sEvmAMOl28bICZLbkiXnVhVXWbnMLOoz4AAFVV8c4iqZHzVczFKCl1XtdD6wEFWJ86BkuX+IqFpa/fqIkJICx6zrqzgw2i1DgiQo7zufajqsd0AkdjmLrVPSbxpB7+McMDh8j4PoKfp/Y271HpItEDLqADNXbJnvmYyruzjypntLrWmNEDiQIFQLlvMZt7uN0WmOtKi78ZGBchR4XkPijJrr/TQy+5Saz8v7YHC0FT001HhdYJQ0V23wKdup/U7faWoH0DFS2uPJoPhw54B0apCh+oRp1Z0X+1UNaTeC2BeV8NXh9TQLetuKOBFctIfven17YDD5W0DkB75vTHLauq7Vd4PoJIKz4tCoXO73TmEF9yltl6uiqRziq0buemlvNMvagaoh6KdkOxAE73pReOZY7n3NGhgfZRFgKvKaevtXO17uuHkJXU5JqPa2FN6QkI5Zl2ZJaqFkUygHC7v/wE4b4A6X3A7kztI9KY3EK/mPtBoC3QEMgdaC/WSoGJXXRmRWh7RPQrRZ2tKrb0D9pKJSo+6HC4vK03zANU3u522nGSS1pteom3vBZCj0uuDgIUrUxXA2ySu/vCO5MZ5DdRQh8s76Ckgt9MW0y01FCboTW8obetZtrvTjgrPXCjKapYeBmdXfahu0+KCgkQrHup3ejNMb3pD5UekfE+AOIb6ev7B16ph2ijjjltOzV1UYMaW8Rb6OFEC8X6nN8P0phcvH/qW2wuQy7sdhElCAzzNIdx+phXFhSo+2wMoAv8mwutC4Ok5UyglWwx6M0xvesMCyLGkrhBGZTNX0tIpYM9ScOsCC7LSgNY+59YIWCM0/HH2FHoqUaJRTc6DOgiOCu/lBE2tKsvnQEj5SAkqLq+7glT1MdY/expDKJqWjhvm5cDXEuW4KH8RVuefaCEsq5mCZy6g4Yf16j2i9aYXazCXLK27UZjUZWHeikfcpbarugFyVHgfh4LL+eXuhhAuPSkHFxyXjl31saqV77+Cht8R8MjJU6g2ri+iFNKbYXrTi8WXo+6sq7FkKaMUIgghYB9vNXA8u5Qgh8v7KYAjOe69pUODc34ejp1oQF280QZhqWohgac0gScS0VN6M0xverEAOv9R/6WbdgV+KwjpGSa1YsOtYa8CySOKQXAyB0N7QCA7TcGi0/OQn01o7ohVbfT3JPCMFsSSOYXxW396M0xvegNx8oMvxXS7GRfVt2HG29s7D3N/1vazZ3+W9363DipxeY4XoH/yD/WtGgpHG1F2Wq7cRA0kemBkr55arYXwSNFUYn/ToI/eDNObXt/Or/1cHGFQcKtQ8GMOAU03ANZsaC3N+NFRE6g7doFKyj0/Fgr9gSuobQqh5PAMXO3Ijm4gxOJy3/d7gdoMgWcCCv7gmERfRKtGb4bpTS/S51XbRG6awF2Kimvlbz38J/y/RgUwdCB/ViF55BRXXOG5jRS6K2IgXHBcNn5yYgZqUnN6VBDhWaHBNfsw6hbjLj2437t61m0RP1BUPAhCwWDpbRQF5500kV6UADlcngcBupq5U9cUwuUnm3HOzLRUAdQtPASshcBTnQpedEyier1HtJ703twqZoBwj1BwZl+p6TfpEBAKYFHRNFrWBVB4f5wtuIZWDVeXmFE8zYTaeC24oU57fcozWQX42+0v+X48WFX7orPUvVGMNmagDITwPk88SaE40ieE++dMoRvCAFV414JQFNLYayCwcJ4ZsyYa4dEzK81/Rs0dLw6e6WVfA2j9dsEBiTeCkBEXMF2jk3EwZ+D3M8fRZREJYhdPYSAkwC9L5+dhxjhVGgl6Pne8tO8DtHGjMPnTcbkQuJ5UHDEUYJjXQQ0YZQaMKp6bYqMLIzqoFqD8zqCAokAuUqcWqKjn3XIdn1gA/foc6zWKhhUnT6X+qVkSaGcyddAb28QECPyECFdBwbihAhNpPvs+G9s1PLG+pfGtLa3vFuSod5PD5WVtk90RFDCqBOf8XEzOV9EwwgC681xruB8C60BYoQWwuqiwV0qxIcGUDIDWfS6+r6q4RBDOBkFJFBhuuEKALRuoWNGMlz9uxvQxJk4G1soAsbbJ2mcAknLfrXDXI4TXNOCtzCy8N2ssxX1wORGAeArzmXCSouB0ocjAw8PiVv4xhg9vkmaYgPLXG/Hxzg7Ys+VBCMEA8YLINtKnuG4J6meXdv0gwP14nwQ+/s+I/kAE8BkJbJ99OEW1R2MBVFVqVd7agQmahiNIwTEkcKIgHAtgzJBENc7CEiAjcN/qRmz4sgO2MED15HD5tgBiChsJ7N5ZOD8PR45T4R9hRsKAAA3CADbhib3tAjuFghoS8BDQoGlo+uXffIMm2LjzXCufODhEVr9XYuNk99CLGdSwF6FydSP+tbMT1iyFK6lhM/sNEGazBdcW0HDDvDzMOtSgr5kNIJaRkAhAg7FJb3qxIDMZILPouFY2YGttALkZCkBiG5VU+F7k5Av8srFNwzWOXBRNM+q2UI00XG+G6U0vFkA8vbV0AstW1KOmISh3FQD6gByVvochxJW8yPWwq2e2GWcfnXpXT98G680wvenFAignHdhdL7BspR+tHQLpRmKj8B/kcPl/CWj/yxXwbupFx2XjktQ5Swdsp94M05teLICsWcDGXSG4VtbDwB5tVe6lPk4lLu9lAniC/1XbGMK86Rn4eXE2vNHiEWJRGcZ7vRmmN71YrCkwA2s/C+DBqgbkZSrhhMiExTzFnQwh1nMF/lZNLpDKTjMjGBrGhl2s1kR5rzfD9KYXiyVjcoG/vNeOP77dhNG54cPgnE+BZt9TbzGmhXgNobQFBMzpChZ9Nw/2YWx5x2pMtPd6M0xveoPxhCczew7wkLsFKze1YrS567S+CB4dCRrhHKLTIqY2++NmTtDX1NabYXrTGwwgoxqOhS9f0YDPagJyigPQ1o7WcEC6w+V7GhAyU1VNQwiXzTbjB8emxRt2lYjA9PtGb4bpTW8wJpkzgJ0+gSWv+xEMCZgMxIvj9e5S25xw4GKl5xoSJE9vc+DiKdMycP28bOlN6JuCNCloHNRBvTjA+mfVpk48UNWA/JzuZCTL3E7bIgnQ3OW+72iakAHyzR0CBTkKbllgQaYJaIv7yorhQaf3iNab3mDcGZsHPLquFS9+0IyxeYauouJct9P+cs/gec5QO5pvhmFr7qbv5uHEyQY5zbHJl+pHb4bpTW8g/rGLh/XP3a82YIeny8UDhNROsnHyv54A8WUR/80/7GoIYf70TFxXkoW65qFe55MYlHozTG960bjCwjA6F3hnexAVK+ul/433hQRhVXWpTWYf6QaoeLnvTNLEK/wjR5jySvaXZ1kwykxo1GHzTm+G6U1voGHLAC1f1YyVm9ow3qKGT58qyg3uhRaZIL4boHCKZW8jQGlSiupDuKrYjHNnpuFrX+qnOb0Zpje9aACx/409Nnf93SeP/WQaw3AESRsbybfdS7uUVPruEkLcxj/yIa4jx6Xh1gVmeUaIPQupfO76ux+8qxvtYbPzjjPl0dmkPXrT69twlpRDrMBfN3TgsXUNGG/puoSM8JS71NadRrMXQHwkXOsMyJBTNq/9LRpuPcOC4yaq2J1iY+GZd5uxaVd0k3H6WBMuPj47aeBwRXrT69t4XpzyFsNdrzZg8+4A7NldIQ2qNst9Q373KcZ+9lmxy1dFEA623Hb5Qzh1RiYWzsvCLg4FjifwLkE2clTro+sapf7r+bDb/X+KzD3XBwlS6P2Z3vR6UufBP94CvLk1iKWv+2HNUqVxwBt0fRNW9QNIpssSGoflgrfB2zoFFp9jReFoRYYDy4pS9PC0umpTG7bVhi8OOazAiPnTMyIBFEmnqje9SAfYrObthXtea8Q/d3RgbK4qZyxBymXVpZbf9+xoVHY7yj2boVAhg7HTH4Lj8AzcdFo29jShV9rSpHPsAKgwJIBDrcD6rUHc86of9pwu6QHq3U5bP0UbFaBil+8iIvEMSxE7UHk6YF00Z6pBWnSplKL9GSOevDONAC9OF/+tAZ/vCUivjXSnEf3CXWq9p2//B5ywHBXeHSBMZDD2NIUwpcCEO8/JRWcofPI7hTPdfosRAzHJzgZKBx6pbsCh9u7rY5sas6y2aJdCDQKQ/yiQxvmepavnS28QV8zJxSUnpOELT+rXRfsbSgyOPZud0QK3vehHIKQhJ10JL0wFneEus74Wrc+DCkIkdSMD1NQuwNvk9/7AirG5hN0NYR/SwSc2BxgDjjMYZwGWvd6Cf3zagkNtBqnPCeLDKqf9mIFqGRSg01wN1k4E5W3xDAYbDMdPSscdZ+agqZ093wf1UWx4wmtKntpWbwpi2Qq/jBplwPgJkZi+rtT+74QA4o+KK71XkJBXgMnnK18Q58/KxlWnZEpPt177RfEwYiSWYSOLtxO21Wn45Ut+hIRAXkbYMBBE5dWl1psGa3dcut7h8nJCv6N5qusICNQ1a9L1UlxowA7PQSkaiMEMQm5G2Gq7+fkGbK7pwASrQVrGgKhzO+0xs4nFBdCcyroxBqFw3tAstup4vyjDpODu71kw3kLY6T+oj/qCxMo/3Rg+kFW5ugV//7gFh1i7rTYoBhy55nrbplhSHxdAcqpb7ptNmpAXj7M++sYfwkS7AXeeG066VNt4EKQIsxkcDoZnd87T77Tj8fVNGJOrwKDIaFGe2i6pLrU+HQscaUHHUyhSprjS/ysS2mL+d8TLMHWUEXd/L4+P7cl47gPdsmNwmAeH2oDnN3TggapG6QjNNFGXvqY/up3Wn8TL9yEB1GU0rCSB+RJdAr72BfFfkzOkZRf2Ohy4IEXAmWAFVm7qlGFUHASfkx4BBxvdTlvv24tjIDVkgLg+h8tTDdAp/DGL7Nf+IE6cnI5bFpjlWmnPATjdsUHAxsAhFuD1TztRsbJBSg3HuPHA5duJtbTQ8dXXFAzp/HxCAIVBCmfIioD0TX0QhaNMuP3MXOTnhA2HA8Vnx+BwBBTHVz//fjt+90ZTL3A4y2i6AZP+cb2tMd6pLVIuYYCKyxvtqhL4RAPGyEr4KJsviMPyTbjtDDMm2hXpWJWr5YSpDLU7+pdn6eCtAw4+/MNbbXjq7SZYM1WYM/hWE9meTkXDzDU3xrbYorV+WKxj89solDUCkFdPSuuuPgRLpoprS3Iwe0o4IQZ7HfY340H60BBehLLz+OG1zVjxaSsKzCoyjF06h7ALmrLAXWZJOCnvsADiBp7/nFA9O30rAcirOmW+7WZNxhecfXQmLj0pS0oQ6yX+e9gE9ReSfhR5SkszhH1r738RxMNrm7C9Nogxearsfxg82qSYDEVrrjVLV1miT9L45XB5VwCQsVyse3jrmqXp5CnpuOqUbDnlMUg82vZV3RSRGpkNxAC8+kmH1Dc8GHlXlN+HBYs+MoY6ZyfjprKkARQ2HHxLASF9S1LviHAQpC1LxTkzM3D6jAxkp3GAPhDQ9i2gIm4bSxbwr50hvPBBK9ZvaUduBsGcEbbUup7H3U7bFYlKTN/vkgoQV15c4TuTSPwJQG5kyuNMjv5WgaMOMeG8mZk4YbIRvPXLayYedSPZiGBgOPqGpWZ3g8Arn7ThtU/a0NyhYUxu2CsdcRgTlMurnJYnkwWOHOjJrCxSV4nLw/eDviJA8pbiiDRxRkceaXOmpePsozJx5FhVShLnOuH0myNl6ovEFWWZwulZ6luAN7Z04OWPWrHdw9vUag/PQDgaJ6Sp56filpiUABQByuHy3QQIvrBJ7n4wAAwEA8Ur7DlT06SOOnyMQU59/lbOOhyex1PasAFGZcSHZskMGwEsMRu+7ETV5jZs3BVAdhrBkhneBY2AKBRxb/5Y2+2cQjkVgz3lfCi6r2GqqoX4ypuzIx2IGBGeZk2OxCPHmXDCpDTMGG/CuLxwk+pbgY5gKrrcv05uDw+Q7PTwANlaG8R7X3RIcL7wBOWReM78IQ/2doftibUELKpy2t9NZStTDlCk8XMr/A6NtIcAdN9HxB3mkGJfS0jmSuPg8cLRJpwwOU1mH87LDJvt7Z2cBSUsfT2UcUJ8YZpcJ0sIT2HsdeYzUDWNGjZ80YkPvurAtrog6ltD8rQBxw30BgY1BHF1ldMuc4qm+tENoG79VOm/TgjtGk4iGPkt4i7ijI9sUGSYSG5lTLQZ5N8TrEbkZytydc4uFR7xDBQbGgwwK2m5Q9kjKJXL8B8GI/InMsWylPANL7vrQ/jCG5QBMaxb+N+s9HkaMxo4A3wv9n8tCI+bgoHyZJjP8QKrO0A99NMPBcRV/7msY07PxvJoZeY3t2sy4p+ZyiOZXfZ8PJBX6hwqGxndPEVycL1JJZmQkDvEYHEdnMGrPShkNn1Oc1PfpslsKqwD+W+eYnlQ8FYJSwpPZZHBsnfwiA8F0cOiwfpE9WLSadLdy5FvDaAeFt/xUNQLhKZdyYkFo40sDkHmxSAvflliGERmapqBkGYkmYiQN8NYUvgd+//C0rX3O64j8i0Dmt717QCWowDhUSLlz1ULLeviHe2pKPetAxTp1KnLagoCBiPfPsneiLlRboPs1X+efsKSIvpNcRGXUkTfqEpYMmKst1oEwGCsACkvV5daoiZgTwUIg9U5YgDq2Ui+T6IjRCcLTZwIwn9xwAqAmAEWQ2IewQ8hPiHCO0LgbaGZ3qy+0SyP3oykZ0QC1JdBp9+/Ja0laJumkjZVaMpUUsQkIcRYAjFoHHCeBUImBCJHpHlNwgc3Odsi78HwtTnfkCK+Ehp9TqRt1Uzi86Funn0bwP0/BRCnfaQr82wAAAAASUVORK5CYII=";
-var audioIcon$4 = "data:image/png;base64,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";
+var audioIcon$3 = "data:image/png;base64,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";
var coverLocal$3 = "data:image/png;base64,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";
@@ -38027,7 +38272,7 @@ const uuid$2 = prefix => {
const id = s.join('');
return prefix ? prefix + '__' + id : id;
};
-var script$5q = {
+var script$5k = {
name: 'RecordPlayer',
props: {
//模式:preview 预览 (默认),editor 编辑
@@ -38084,9 +38329,9 @@ var script$5q = {
},
data() {
return {
- playIcon: playIcon$6,
- pauseIcon: pauseIcon$5,
- audioIcon: audioIcon$4,
+ playIcon: playIcon$5,
+ pauseIcon: pauseIcon$4,
+ audioIcon: audioIcon$3,
coverLocal: coverLocal$3,
recStartIcon: recStartIcon$1,
recStopIcon: recStopIcon$1,
@@ -38517,10 +38762,10 @@ var script$5q = {
};
/* script */
-const __vue_script__$5q = script$5q;
+const __vue_script__$5k = script$5k;
/* template */
-var __vue_render__$5q = function () {
+var __vue_render__$5k = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -38724,17 +38969,17 @@ var __vue_render__$5q = function () {
1
)
};
-var __vue_staticRenderFns__$5q = [];
-__vue_render__$5q._withStripped = true;
+var __vue_staticRenderFns__$5k = [];
+__vue_render__$5k._withStripped = true;
/* style */
- const __vue_inject_styles__$5q = undefined;
+ const __vue_inject_styles__$5k = undefined;
/* scoped */
- const __vue_scope_id__$5q = undefined;
+ const __vue_scope_id__$5k = undefined;
/* module identifier */
- const __vue_module_identifier__$5q = undefined;
+ const __vue_module_identifier__$5k = undefined;
/* functional template */
- const __vue_is_functional_template__$5q = false;
+ const __vue_is_functional_template__$5k = false;
/* style inject */
/* style inject SSR */
@@ -38743,13 +38988,13 @@ __vue_render__$5q._withStripped = true;
- const __vue_component__$5q = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5q, staticRenderFns: __vue_staticRenderFns__$5q },
- __vue_inject_styles__$5q,
- __vue_script__$5q,
- __vue_scope_id__$5q,
- __vue_is_functional_template__$5q,
- __vue_module_identifier__$5q,
+ const __vue_component__$5k = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5k, staticRenderFns: __vue_staticRenderFns__$5k },
+ __vue_inject_styles__$5k,
+ __vue_script__$5k,
+ __vue_scope_id__$5k,
+ __vue_is_functional_template__$5k,
+ __vue_module_identifier__$5k,
false,
undefined,
undefined,
@@ -38762,9 +39007,9 @@ const _audio = '.mp3,';
const _video = '.mp4,.MP4';
const _resources = 'application/x-zip-compressed,.zip,';
const _office = '.ppt,.xlsx,.xls,.doc,.docx,.pptx';
-var script$5p = {
+var script$5j = {
components: {
- RecordPlayer: __vue_component__$5q
+ RecordPlayer: __vue_component__$5k
},
name: 'addFile',
props: {
@@ -39229,9 +39474,9 @@ var script$5p = {
};
/* script */
-const __vue_script__$5p = script$5p;
+const __vue_script__$5j = script$5j;
/* template */
-var __vue_render__$5p = function () {
+var __vue_render__$5j = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -39828,17 +40073,17 @@ var __vue_render__$5p = function () {
]
)
};
-var __vue_staticRenderFns__$5p = [];
-__vue_render__$5p._withStripped = true;
+var __vue_staticRenderFns__$5j = [];
+__vue_render__$5j._withStripped = true;
/* style */
- const __vue_inject_styles__$5p = undefined;
+ const __vue_inject_styles__$5j = undefined;
/* scoped */
- const __vue_scope_id__$5p = undefined;
+ const __vue_scope_id__$5j = undefined;
/* module identifier */
- const __vue_module_identifier__$5p = undefined;
+ const __vue_module_identifier__$5j = undefined;
/* functional template */
- const __vue_is_functional_template__$5p = false;
+ const __vue_is_functional_template__$5j = false;
/* style inject */
/* style inject SSR */
@@ -39847,13 +40092,13 @@ __vue_render__$5p._withStripped = true;
- const __vue_component__$5p = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5p, staticRenderFns: __vue_staticRenderFns__$5p },
- __vue_inject_styles__$5p,
- __vue_script__$5p,
- __vue_scope_id__$5p,
- __vue_is_functional_template__$5p,
- __vue_module_identifier__$5p,
+ const __vue_component__$5j = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5j, staticRenderFns: __vue_staticRenderFns__$5j },
+ __vue_inject_styles__$5j,
+ __vue_script__$5j,
+ __vue_scope_id__$5j,
+ __vue_is_functional_template__$5j,
+ __vue_module_identifier__$5j,
false,
undefined,
undefined,
@@ -40110,7 +40355,7 @@ function mixin() {
function setup(options) {
return assign_1(setupDefaults_1, options);
}
-XEUtils.VERSION = '3.5.28';
+XEUtils.VERSION = '3.5.25';
XEUtils.mixin = mixin;
XEUtils.setup = setup;
var ctor = XEUtils;
@@ -52828,11 +53073,11 @@ var n = function () {
*/
let prevOverflow$1 = '';
-var script$5o = {
+var script$5i = {
name: 'XmlTextRender',
components: {
- addFile: __vue_component__$5p,
- XmlTextDialogRender: __vue_component__$5r,
+ addFile: __vue_component__$5j,
+ XmlTextDialogRender: __vue_component__$5l,
[ImagePreview$1.Component.name]: ImagePreview$1.Component
},
props: {
@@ -53022,7 +53267,7 @@ var script$5o = {
return this.getKeyboardShow();
},
evn() {
- return this.getSysEvn();
+ return this.getSysEvn() || {};
},
mergeMarkList() {
let teacherNoteList = this.getTeacherNoteList() || [],
@@ -54080,9 +54325,9 @@ var script$5o = {
};
/* script */
-const __vue_script__$5o = script$5o;
+const __vue_script__$5i = script$5i;
/* template */
-var __vue_render__$5o = function () {
+var __vue_render__$5i = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -54660,17 +54905,17 @@ var __vue_render__$5o = function () {
2
)
};
-var __vue_staticRenderFns__$5o = [];
-__vue_render__$5o._withStripped = true;
+var __vue_staticRenderFns__$5i = [];
+__vue_render__$5i._withStripped = true;
/* style */
- const __vue_inject_styles__$5o = undefined;
+ const __vue_inject_styles__$5i = undefined;
/* scoped */
- const __vue_scope_id__$5o = "data-v-1fc9f10a";
+ const __vue_scope_id__$5i = "data-v-4ae2eebc";
/* module identifier */
- const __vue_module_identifier__$5o = undefined;
+ const __vue_module_identifier__$5i = undefined;
/* functional template */
- const __vue_is_functional_template__$5o = false;
+ const __vue_is_functional_template__$5i = false;
/* style inject */
/* style inject SSR */
@@ -54679,20 +54924,20 @@ __vue_render__$5o._withStripped = true;
- const __vue_component__$5o = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5o, staticRenderFns: __vue_staticRenderFns__$5o },
- __vue_inject_styles__$5o,
- __vue_script__$5o,
- __vue_scope_id__$5o,
- __vue_is_functional_template__$5o,
- __vue_module_identifier__$5o,
+ const __vue_component__$5i = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5i, staticRenderFns: __vue_staticRenderFns__$5i },
+ __vue_inject_styles__$5i,
+ __vue_script__$5i,
+ __vue_scope_id__$5i,
+ __vue_is_functional_template__$5i,
+ __vue_module_identifier__$5i,
false,
undefined,
undefined,
undefined
);
-const TextComponents = [__vue_component__$5o, __vue_component__$5r];
+const TextComponents = [__vue_component__$5i, __vue_component__$5l];
var XmlText = {
...TextComponents
};
@@ -54709,7 +54954,7 @@ var XmlText = {
//
//
-var script$5n = {
+var script$5h = {
name: 'XmlGroupRender',
props: {
//模式:preview 预览 (默认),editor 编辑
@@ -54784,9 +55029,9 @@ var script$5n = {
};
/* script */
-const __vue_script__$5n = script$5n;
+const __vue_script__$5h = script$5h;
/* template */
-var __vue_render__$5n = function () {
+var __vue_render__$5h = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -54823,17 +55068,17 @@ var __vue_render__$5n = function () {
2
)
};
-var __vue_staticRenderFns__$5n = [];
-__vue_render__$5n._withStripped = true;
+var __vue_staticRenderFns__$5h = [];
+__vue_render__$5h._withStripped = true;
/* style */
- const __vue_inject_styles__$5n = undefined;
+ const __vue_inject_styles__$5h = undefined;
/* scoped */
- const __vue_scope_id__$5n = "data-v-35e9204b";
+ const __vue_scope_id__$5h = "data-v-619d09d0";
/* module identifier */
- const __vue_module_identifier__$5n = undefined;
+ const __vue_module_identifier__$5h = undefined;
/* functional template */
- const __vue_is_functional_template__$5n = false;
+ const __vue_is_functional_template__$5h = false;
/* style inject */
/* style inject SSR */
@@ -54842,23 +55087,23 @@ __vue_render__$5n._withStripped = true;
- const __vue_component__$5n = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5n, staticRenderFns: __vue_staticRenderFns__$5n },
- __vue_inject_styles__$5n,
- __vue_script__$5n,
- __vue_scope_id__$5n,
- __vue_is_functional_template__$5n,
- __vue_module_identifier__$5n,
+ const __vue_component__$5h = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5h, staticRenderFns: __vue_staticRenderFns__$5h },
+ __vue_inject_styles__$5h,
+ __vue_script__$5h,
+ __vue_scope_id__$5h,
+ __vue_is_functional_template__$5h,
+ __vue_module_identifier__$5h,
false,
undefined,
undefined,
undefined
);
-__vue_component__$5n.install = (Vue, options = {}) => {
+__vue_component__$5h.install = (Vue, options = {}) => {
Vue.component(createNamespace$1('group-render', {
prefix: options.prefix
- }), __vue_component__$5n);
+ }), __vue_component__$5h);
};
function getDefaultExportFromCjs(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,'default')?x['default']:x;}var urlToolkit={exports:{}};(function(module,exports){// see https://tools.ietf.org/html/rfc1808
@@ -54926,7 +55171,7 @@ if(typeof console==='object'&&debugConfig===true||typeof debugConfig==='object')
// 'trace',
'debug','log','info','warn','error');// Some browsers don't allow to use bind on console object anyway
// fallback to default if needed
-try{exportedLogger.log(`Debug logs enabled for "${id}" in hls.js version ${"1.5.13"}`);}catch(e){exportedLogger=fakeLogger;}}else {exportedLogger=fakeLogger;}}const logger=exportedLogger;const DECIMAL_RESOLUTION_REGEX=/^(\d+)x(\d+)$/;const ATTR_LIST_REGEX=/(.+?)=(".*?"|.*?)(?:,|$)/g;// adapted from https://github.com/kanongil/node-m3u8parse/blob/master/attrlist.js
+try{exportedLogger.log(`Debug logs enabled for "${id}" in hls.js version ${"1.5.9"}`);}catch(e){exportedLogger=fakeLogger;}}else {exportedLogger=fakeLogger;}}const logger=exportedLogger;const DECIMAL_RESOLUTION_REGEX=/^(\d+)x(\d+)$/;const ATTR_LIST_REGEX=/(.+?)=(".*?"|.*?)(?:,|$)/g;// adapted from https://github.com/kanongil/node-m3u8parse/blob/master/attrlist.js
class AttrList{constructor(attrs){if(typeof attrs==='string'){attrs=AttrList.parseAttrList(attrs);}_extends(this,attrs);}get clientAttrs(){return Object.keys(this).filter(attr=>attr.substring(0,2)==='X-');}decimalInteger(attrName){const intValue=parseInt(this[attrName],10);if(intValue>Number.MAX_SAFE_INTEGER){return Infinity;}return intValue;}hexadecimalInteger(attrName){if(this[attrName]){let stringValue=(this[attrName]||'0x').slice(2);stringValue=(stringValue.length&1?'0':'')+stringValue;const value=new Uint8Array(stringValue.length/2);for(let i=0;iNumber.MAX_SAFE_INTEGER){return Infinity;}return intValue;}decimalFloatingPoint(attrName){return parseFloat(this[attrName]);}optionalFloat(attrName,defaultValue){const value=this[attrName];return value?parseFloat(value):defaultValue;}enumeratedString(attrName){return this[attrName];}bool(attrName){return this[attrName]==='YES';}decimalResolution(attrName){const res=DECIMAL_RESOLUTION_REGEX.exec(this[attrName]);if(res===null){return undefined;}return {width:parseInt(res[1],10),height:parseInt(res[2],10)};}static parseAttrList(input){let match;const attrs={};const quote='"';ATTR_LIST_REGEX.lastIndex=0;while((match=ATTR_LIST_REGEX.exec(input))!==null){let value=match[2];if(value.indexOf(quote)===0&&value.lastIndexOf(quote)===value.length-1){value=value.slice(1,-1);}const name=match[1].trim();attrs[name]=value;}return attrs;}}// Avoid exporting const enum so that these values can be inlined
function isDateRangeCueAttribute(attrName){return attrName!=="ID"&&attrName!=="CLASS"&&attrName!=="START-DATE"&&attrName!=="DURATION"&&attrName!=="END-DATE"&&attrName!=="END-ON-NEXT";}function isSCTE35Attribute(attrName){return attrName==="SCTE35-OUT"||attrName==="SCTE35-IN";}class DateRange{constructor(dateRangeAttr,dateRangeWithSameId){this.attr=void 0;this._startDate=void 0;this._endDate=void 0;this._badValueForSameId=void 0;if(dateRangeWithSameId){const previousAttr=dateRangeWithSameId.attr;for(const key in previousAttr){if(Object.prototype.hasOwnProperty.call(dateRangeAttr,key)&&dateRangeAttr[key]!==previousAttr[key]){logger.warn(`DATERANGE tag attribute: "${key}" does not match for tags with ID: "${dateRangeAttr.ID}"`);this._badValueForSameId=key;break;}}// Merge DateRange tags with the same ID
dateRangeAttr=_extends(new AttrList({}),previousAttr,dateRangeAttr);}this.attr=dateRangeAttr;this._startDate=new Date(dateRangeAttr["START-DATE"]);if("END-DATE"in this.attr){const endDate=new Date(this.attr["END-DATE"]);if(isFiniteNumber(endDate.getTime())){this._endDate=endDate;}}}get id(){return this.attr.ID;}get class(){return this.attr.CLASS;}get startDate(){return this._startDate;}get endDate(){if(this._endDate){return this._endDate;}const duration=this.duration;if(duration!==null){return new Date(this._startDate.getTime()+duration*1000);}return null;}get duration(){if("DURATION"in this.attr){const duration=this.attr.decimalFloatingPoint("DURATION");if(isFiniteNumber(duration)){return duration;}}else if(this._endDate){return (this._endDate.getTime()-this._startDate.getTime())/1000;}return null;}get plannedDuration(){if("PLANNED-DURATION"in this.attr){return this.attr.decimalFloatingPoint("PLANNED-DURATION");}return null;}get endOnNext(){return this.attr.bool("END-ON-NEXT");}get isValid(){return !!this.id&&!this._badValueForSameId&&isFiniteNumber(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class);}}class LoadStats{constructor(){this.aborted=false;this.loaded=0;this.retry=0;this.total=0;this.chunkCount=0;this.bwEstimate=0;this.loading={start:0,first:0,end:0};this.parsing={start:0,end:0};this.buffering={start:0,first:0,end:0};}}var ElementaryStreamTypes={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"};class BaseSegment{constructor(baseurl){this._byteRange=null;this._url=null;// baseurl is the URL to the playlist
@@ -55253,8 +55498,7 @@ samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,av
const codecsToCheck={flac:['flac','fLaC','FLAC'],opus:['opus','Opus']}[lowerCaseCodec];for(let i=0;igetCodecCompatibleNameLower(m.toLowerCase(),preferManagedMediaSource));}function pickMostCompleteCodecName(parsedCodec,levelCodec){// Parsing of mp4a codecs strings in mp4-tools from media is incomplete as of d8c6c7a
// so use level codec is parsed codec is unavailable or incomplete
if(parsedCodec&&parsedCodec!=='mp4a'){return parsedCodec;}return levelCodec?levelCodec.split(',')[0]:levelCodec;}function convertAVC1ToAVCOTI(codec){// Convert avc1 codec string from RFC-4281 to RFC-6381 for MediaSource.isTypeSupported
-// Examples: avc1.66.30 to avc1.42001e and avc1.77.30,avc1.66.30 to avc1.4d001e,avc1.42001e.
-const codecs=codec.split(',');for(let i=0;i2){let result=avcdata.shift()+'.';result+=parseInt(avcdata.shift()).toString(16);result+=('000'+parseInt(avcdata.shift()).toString(16)).slice(-4);codecs[i]=result;}}return codecs.join(',');}const MASTER_PLAYLIST_REGEX=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g;const MASTER_PLAYLIST_MEDIA_REGEX=/#EXT-X-MEDIA:(.*)/g;const IS_MEDIA_PLAYLIST=/^#EXT(?:INF|-X-TARGETDURATION):/m;// Handle empty Media Playlist (first EXTINF not signaled, but TARGETDURATION present)
+const avcdata=codec.split('.');if(avcdata.length>2){let result=avcdata.shift()+'.';result+=parseInt(avcdata.shift()).toString(16);result+=('000'+parseInt(avcdata.shift()).toString(16)).slice(-4);return result;}return codec;}const MASTER_PLAYLIST_REGEX=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g;const MASTER_PLAYLIST_MEDIA_REGEX=/#EXT-X-MEDIA:(.*)/g;const IS_MEDIA_PLAYLIST=/^#EXT(?:INF|-X-TARGETDURATION):/m;// Handle empty Media Playlist (first EXTINF not signaled, but TARGETDURATION present)
const LEVEL_PLAYLIST_REGEX_FAST=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,// duration (#EXTINF:,), group 1 => duration, group 2 => title
/(?!#) *(\S[^\r\n]*)/.source,// segment URI, group 3 => the URI (note newline is not eaten)
/#EXT-X-BYTERANGE:*(.+)/.source,// next segment's byterange, group 4 => range spec (x@y)
@@ -55434,11 +55678,11 @@ const startPDT=fragments[0].programDateTime;if(PDTValue<(startPDT||0)){return nu
* @param bufferEnd - The end of the contiguous buffered range the playhead is currently within
* @param maxFragLookUpTolerance - The amount of time that a fragment's start/end can be within in order to be considered contiguous
* @returns a matching fragment or null
- */function findFragmentByPTS(fragPrevious,fragments,bufferEnd=0,maxFragLookUpTolerance=0,nextFragLookupTolerance=0.005){let fragNext=null;if(fragPrevious){fragNext=fragments[fragPrevious.sn-fragments[0].sn+1]||null;// check for buffer-end rounding error
+ */function findFragmentByPTS(fragPrevious,fragments,bufferEnd=0,maxFragLookUpTolerance=0){let fragNext=null;if(fragPrevious){fragNext=fragments[fragPrevious.sn-fragments[0].sn+1]||null;// check for buffer-end rounding error
const bufferEdgeError=fragPrevious.endDTS-bufferEnd;if(bufferEdgeError>0&&bufferEdgeError<0.0000015){bufferEnd+=0.0000015;}}else if(bufferEnd===0&&fragments[0].start===0){fragNext=fragments[0];}// Prefer the next fragment if it's within tolerance
-if(fragNext&&((!fragPrevious||fragPrevious.level===fragNext.level)&&fragmentWithinToleranceTest(bufferEnd,maxFragLookUpTolerance,fragNext)===0||fragmentWithinFastStartSwitch(fragNext,fragPrevious,Math.min(nextFragLookupTolerance,maxFragLookUpTolerance)))){return fragNext;}// We might be seeking past the tolerance so find the best match
+if(fragNext&&(!fragPrevious||fragPrevious.level===fragNext.level)&&fragmentWithinToleranceTest(bufferEnd,maxFragLookUpTolerance,fragNext)===0){return fragNext;}// We might be seeking past the tolerance so find the best match
const foundFragment=BinarySearch.search(fragments,fragmentWithinToleranceTest.bind(null,bufferEnd,maxFragLookUpTolerance));if(foundFragment&&(foundFragment!==fragPrevious||!fragNext)){return foundFragment;}// If no match was found return the next fragment after fragPrevious, or null
-return fragNext;}function fragmentWithinFastStartSwitch(fragNext,fragPrevious,nextFragLookupTolerance){if(fragPrevious&&fragPrevious.start===0&&fragPrevious.level0){const firstDuration=fragPrevious.tagList.reduce((duration,tag)=>{if(tag[0]==='INF'){duration+=parseFloat(tag[1]);}return duration;},nextFragLookupTolerance);return fragNext.start<=firstDuration;}return false;}/**
+return fragNext;}/**
* The test function used by the findFragmentBySn's BinarySearch to look for the best match to the current buffer conditions.
* @param candidate - The fragment to test
* @param bufferEnd - The end of the current buffered range the playhead is currently within
@@ -55488,7 +55732,7 @@ if(retryConfig){errorAction.retryConfig=retryConfig;errorAction.retryCount=fragm
let nextLevel=-1;const{levels,loadLevel,minAutoLevel,maxAutoLevel}=hls;if(!hls.autoLevelEnabled){hls.loadLevel=-1;}const fragErrorType=(_data$frag2=data.frag)==null?void 0:_data$frag2.type;// Find alternate audio codec if available on audio codec error
const isAudioCodecError=fragErrorType===PlaylistLevelType.AUDIO&&errorDetails===ErrorDetails.FRAG_PARSING_ERROR||data.sourceBufferName==='audio'&&(errorDetails===ErrorDetails.BUFFER_ADD_CODEC_ERROR||errorDetails===ErrorDetails.BUFFER_APPEND_ERROR);const findAudioCodecAlternate=isAudioCodecError&&levels.some(({audioCodec})=>level.audioCodec!==audioCodec);// Find alternate video codec if available on video codec error
const isVideoCodecError=data.sourceBufferName==='video'&&(errorDetails===ErrorDetails.BUFFER_ADD_CODEC_ERROR||errorDetails===ErrorDetails.BUFFER_APPEND_ERROR);const findVideoCodecAlternate=isVideoCodecError&&levels.some(({codecSet,audioCodec})=>level.codecSet!==codecSet&&level.audioCodec===audioCodec);const{type:playlistErrorType,groupId:playlistErrorGroupId}=(_data$context2=data.context)!=null?_data$context2:{};for(let i=levels.length;i--;){const candidate=(i+loadLevel)%levels.length;if(candidate!==loadLevel&&candidate>=minAutoLevel&&candidate<=maxAutoLevel&&levels[candidate].loadError===0){var _level$audioGroups,_level$subtitleGroups;const levelCandidate=levels[candidate];// Skip level switch if GAP tag is found in next level at same position
-if(errorDetails===ErrorDetails.FRAG_GAP&&fragErrorType===PlaylistLevelType.MAIN&&data.frag){const levelDetails=levels[candidate].details;if(levelDetails){const fragCandidate=findFragmentByPTS(data.frag,levelDetails.fragments,data.frag.start);if(fragCandidate!=null&&fragCandidate.gap){continue;}}}else if(playlistErrorType===PlaylistContextType.AUDIO_TRACK&&levelCandidate.hasAudioGroup(playlistErrorGroupId)||playlistErrorType===PlaylistContextType.SUBTITLE_TRACK&&levelCandidate.hasSubtitleGroup(playlistErrorGroupId)){// For audio/subs playlist errors find another group ID or fallthrough to redundant fail-over
+if(errorDetails===ErrorDetails.FRAG_GAP&&data.frag){const levelDetails=levels[candidate].details;if(levelDetails){const fragCandidate=findFragmentByPTS(data.frag,levelDetails.fragments,data.frag.start);if(fragCandidate!=null&&fragCandidate.gap){continue;}}}else if(playlistErrorType===PlaylistContextType.AUDIO_TRACK&&levelCandidate.hasAudioGroup(playlistErrorGroupId)||playlistErrorType===PlaylistContextType.SUBTITLE_TRACK&&levelCandidate.hasSubtitleGroup(playlistErrorGroupId)){// For audio/subs playlist errors find another group ID or fallthrough to redundant fail-over
continue;}else if(fragErrorType===PlaylistLevelType.AUDIO&&(_level$audioGroups=level.audioGroups)!=null&&_level$audioGroups.some(groupId=>levelCandidate.hasAudioGroup(groupId))||fragErrorType===PlaylistLevelType.SUBTITLE&&(_level$subtitleGroups=level.subtitleGroups)!=null&&_level$subtitleGroups.some(groupId=>levelCandidate.hasSubtitleGroup(groupId))||findAudioCodecAlternate&&level.audioCodec===levelCandidate.audioCodec||!findAudioCodecAlternate&&level.audioCodec!==levelCandidate.audioCodec||findVideoCodecAlternate&&level.codecSet===levelCandidate.codecSet){// For video/audio/subs frag errors find another group ID or fallthrough to redundant fail-over
continue;}nextLevel=candidate;break;}}if(nextLevel>-1&&hls.loadLevel!==nextLevel){data.levelRetry=true;this.playlistError=0;return {action:NetworkErrorAction.SendAlternateToPenaltyBox,flags:ErrorActionFlags.None,nextAutoLevel:nextLevel};}}// No levels to switch / Manual level selection / Level not found
// Resolve with Pathway switch, Redundant fail-over, or stay on lowest Level
@@ -55862,9 +56106,9 @@ this.tickImmediate();}onMediaEnded(){// reset startPosition and lastCurrentTime
this.startPosition=this.lastCurrentTime=0;}onManifestLoaded(event,data){this.startTimeOffset=data.startTimeOffset;this.initPTS=[];}onHandlerDestroying(){this.hls.off(Events$1.MANIFEST_LOADED,this.onManifestLoaded,this);this.stopLoad();super.onHandlerDestroying();// @ts-ignore
this.hls=null;}onHandlerDestroyed(){this.state=State.STOPPED;if(this.fragmentLoader){this.fragmentLoader.destroy();}if(this.keyLoader){this.keyLoader.destroy();}if(this.decrypter){this.decrypter.destroy();}this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null;super.onHandlerDestroyed();}loadFragment(frag,level,targetBufferTime){this._loadFragForPlayback(frag,level,targetBufferTime);}_loadFragForPlayback(frag,level,targetBufferTime){const progressCallback=data=>{if(this.fragContextChanged(frag)){this.warn(`Fragment ${frag.sn}${data.part?' p: '+data.part.index:''} of level ${frag.level} was dropped during download.`);this.fragmentTracker.removeFragment(frag);return;}frag.stats.chunkCount++;this._handleFragmentLoadProgress(data);};this._doFragLoad(frag,level,targetBufferTime,progressCallback).then(data=>{if(!data){// if we're here we probably needed to backtrack or are waiting for more parts
return;}const state=this.state;if(this.fragContextChanged(frag)){if(state===State.FRAG_LOADING||!this.fragCurrent&&state===State.PARSING){this.fragmentTracker.removeFragment(frag);this.state=State.IDLE;}return;}if('payload'in data){this.log(`Loaded fragment ${frag.sn} of level ${frag.level}`);this.hls.trigger(Events$1.FRAG_LOADED,data);}// Pass through the whole payload; controllers not implementing progressive loading receive data from this callback
-this._handleFragmentLoadComplete(data);}).catch(reason=>{if(this.state===State.STOPPED||this.state===State.ERROR){return;}this.warn(`Frag error: ${(reason==null?void 0:reason.message)||reason}`);this.resetFragmentLoading(frag);});}clearTrackerIfNeeded(frag){var _this$mediaBuffer;const{fragmentTracker}=this;const fragState=fragmentTracker.getState(frag);if(fragState===FragmentState.APPENDING){// Lower the max buffer length and try again
+this._handleFragmentLoadComplete(data);}).catch(reason=>{if(this.state===State.STOPPED||this.state===State.ERROR){return;}this.warn(reason);this.resetFragmentLoading(frag);});}clearTrackerIfNeeded(frag){var _this$mediaBuffer;const{fragmentTracker}=this;const fragState=fragmentTracker.getState(frag);if(fragState===FragmentState.APPENDING){// Lower the max buffer length and try again
const playlistType=frag.type;const bufferedInfo=this.getFwdBufferInfo(this.mediaBuffer,playlistType);const minForwardBufferLength=Math.max(frag.duration,bufferedInfo?bufferedInfo.len:this.config.maxBufferLength);// If backtracking, always remove from the tracker without reducing max buffer length
-const backtrackFragment=this.backtrackFragment;const backtracked=backtrackFragment?frag.sn-backtrackFragment.sn:0;if(backtracked===1||this.reduceMaxBufferLength(minForwardBufferLength,frag.duration)){fragmentTracker.removeFragment(frag);}}else if(((_this$mediaBuffer=this.mediaBuffer)==null?void 0:_this$mediaBuffer.buffered.length)===0){// Stop gap for bad tracker / buffer flush behavior
+const backtrackFragment=this.backtrackFragment;const backtracked=backtrackFragment?frag.sn-backtrackFragment.sn:0;if(backtracked===1||this.reduceMaxBufferLength(minForwardBufferLength)){fragmentTracker.removeFragment(frag);}}else if(((_this$mediaBuffer=this.mediaBuffer)==null?void 0:_this$mediaBuffer.buffered.length)===0){// Stop gap for bad tracker / buffer flush behavior
fragmentTracker.removeAllFragments();}else if(fragmentTracker.hasParts(frag.type)){// In low latency mode, remove fragments for which only some parts were buffered
fragmentTracker.detectPartialFragments({frag,part:null,stats:frag.stats,id:frag.type});if(fragmentTracker.getState(frag)===FragmentState.PARTIAL){fragmentTracker.removeFragment(frag);}}}checkLiveUpdate(details){if(details.updated&&!details.live){// Live stream ended, update fragment tracker
const lastFragment=details.fragments[details.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:lastFragment,part:null,stats:lastFragment.stats,id:lastFragment.type});}if(!details.fragments[0]){details.deltaUpdateFailed=true;}}flushMainBuffer(startOffset,endOffset,type=null){if(!(startOffset-endOffset)){return;}// When alternate audio is playing, the audio-stream-controller is responsible for the audio buffer. Otherwise,
@@ -55884,7 +56128,7 @@ buffer=appendUint8Array(data1,data2);}if(!((_buffer=buffer)!=null&&_buffer.lengt
this.flushBufferGap(frag);}}flushBufferGap(frag){const media=this.media;if(!media){return;}// If currentTime is not buffered, clear the back buffer so that we can backtrack as much as needed
if(!BufferHelper.isBuffered(media,media.currentTime)){this.flushMainBuffer(0,frag.start);return;}// Remove back-buffer without interrupting playback to allow back tracking
const currentTime=media.currentTime;const bufferInfo=BufferHelper.bufferInfo(media,currentTime,0);const fragDuration=frag.duration;const segmentFraction=Math.min(this.config.maxFragLookUpTolerance*2,fragDuration*0.25);const start=Math.max(Math.min(frag.start-segmentFraction,bufferInfo.end-segmentFraction),currentTime+segmentFraction);if(frag.start-start>segmentFraction){this.flushMainBuffer(start,frag.start);}}getFwdBufferInfo(bufferable,type){const pos=this.getLoadPosition();if(!isFiniteNumber(pos)){return null;}return this.getFwdBufferInfoAtPos(bufferable,pos,type);}getFwdBufferInfoAtPos(bufferable,pos,type){const{config:{maxBufferHole}}=this;const bufferInfo=BufferHelper.bufferInfo(bufferable,pos,maxBufferHole);// Workaround flaw in getting forward buffer when maxBufferHole is smaller than gap at current pos
-if(bufferInfo.len===0&&bufferInfo.nextStart!==undefined){const bufferedFragAtPos=this.fragmentTracker.getBufferedFrag(pos,type);if(bufferedFragAtPos&&bufferInfo.nextStart=minLength){// reduce max buffer length as it might be too high. we do this to avoid loop flushing ...
+if(bufferInfo.len===0&&bufferInfo.nextStart!==undefined){const bufferedFragAtPos=this.fragmentTracker.getBufferedFrag(pos,type);if(bufferedFragAtPos&&bufferInfo.nextStart=minLength){// reduce max buffer length as it might be too high. we do this to avoid loop flushing ...
config.maxMaxBufferLength=reducedLength;this.warn(`Reduce max buffer length to ${reducedLength}s`);return true;}return false;}getAppendedFrag(position,playlistType=PlaylistLevelType.MAIN){const fragOrPart=this.fragmentTracker.getAppendedFrag(position,PlaylistLevelType.MAIN);if(fragOrPart&&'fragment'in fragOrPart){return fragOrPart.fragment;}return fragOrPart;}getNextFragment(pos,levelDetails){const fragments=levelDetails.fragments;const fragLen=fragments.length;if(!fragLen){return null;}// find fragment index, contiguous with end of buffer position
const{config}=this;const start=fragments[0].start;let frag;if(levelDetails.live){const initialLiveManifestSize=config.initialLiveManifestSize;if(fragLenend-maxFragLookUpTolerance?0:maxFragLookUpTolerance;// Remove the tolerance if it would put the bufferEnd past the actual end of stream
+ */getFragmentAtPosition(bufferEnd,end,levelDetails){const{config}=this;let{fragPrevious}=this;let{fragments,endSN}=levelDetails;const{fragmentHint}=levelDetails;const tolerance=config.maxFragLookUpTolerance;const partList=levelDetails.partList;const loadingParts=!!(config.lowLatencyMode&&partList!=null&&partList.length&&fragmentHint);if(loadingParts&&fragmentHint&&!this.bitrateTest){// Include incomplete fragment with parts at end
+fragments=fragments.concat(fragmentHint);endSN=fragmentHint.sn;}let frag;if(bufferEndend-tolerance?0:tolerance;// Remove the tolerance if it would put the bufferEnd past the actual end of stream
// Uses buffer and sequence number to calculate switch segment (required if using EXT-X-DISCONTINUITY-SEQUENCE)
frag=findFragmentByPTS(fragPrevious,fragments,bufferEnd,lookupTolerance);}else {// reach end of playlist
frag=fragments[fragments.length-1];}if(frag){const curSNIdx=frag.sn-levelDetails.startSN;// Move fragPrevious forward to support forcing the next fragment to load
@@ -55932,12 +56176,12 @@ if(!frag||frag.type!==filterType||!this.levels){return;}if(this.fragContextChang
const errorAction=data.errorAction;const{action,retryCount=0,retryConfig}=errorAction||{};if(errorAction&&action===NetworkErrorAction.RetryRequest&&retryConfig){this.resetStartWhenNotLoaded(this.levelLastLoaded);const delay=getRetryDelay(retryConfig,retryCount);this.warn(`Fragment ${frag.sn} of ${filterType} ${frag.level} errored with ${data.details}, retrying loading ${retryCount+1}/${retryConfig.maxNumRetry} in ${delay}ms`);errorAction.resolved=true;this.retryDate=self.performance.now()+delay;this.state=State.FRAG_LOADING_WAITING_RETRY;}else if(retryConfig&&errorAction){this.resetFragmentErrors(filterType);if(retryCount0.5;if(buffered){this.reduceMaxBufferLength(bufferedInfo.len,(frag==null?void 0:frag.duration)||10);}const flushBuffer=!buffered;if(flushBuffer){// current position is not buffered, but browser is still complaining about buffer full error
+const buffered=bufferedInfo&&bufferedInfo.len>0.5;if(buffered){this.reduceMaxBufferLength(bufferedInfo.len);}const flushBuffer=!buffered;if(flushBuffer){// current position is not buffered, but browser is still complaining about buffer full error
// this happens on IE/Edge, refer to https://github.com/video-dev/hls.js/pull/708
// in that case flush the whole audio buffer to recover
-this.warn(`Buffer full error while media.currentTime is not buffered, flush ${playlistType} buffer`);}if(frag){this.fragmentTracker.removeFragment(frag);this.nextLoadPosition=frag.start;}this.resetLoadingState();return flushBuffer;}return false;}resetFragmentErrors(filterType){if(filterType===PlaylistLevelType.AUDIO){// Reset current fragment since audio track audio is essential and may not have a fail-over track
+this.warn(`Buffer full error while media.currentTime is not buffered, flush ${playlistType} buffer`);}if(data.frag){this.fragmentTracker.removeFragment(data.frag);this.nextLoadPosition=data.frag.start;}this.resetLoadingState();return flushBuffer;}return false;}resetFragmentErrors(filterType){if(filterType===PlaylistLevelType.AUDIO){// Reset current fragment since audio track audio is essential and may not have a fail-over track
this.fragCurrent=null;}// Fragment errors that result in a level switch or redundant fail-over
// should reset the stream controller state to idle
if(!this.loadedmetadata){this.startFragRequested=false;}if(this.state!==State.STOPPED){this.state=State.IDLE;}}afterBufferFlushed(media,bufferType,playlistType){if(!media){return;}// After successful buffer flushing, filter flushed fragments from bufferedFrags use mediaBuffered instead of media
@@ -56230,28 +56474,28 @@ this.aacOverFlow=null;this.remainderData=null;this.audioCodec=audioCodec;this.vi
let tsPacketErrors=0;for(let start=syncOffset;start>4;// if an adaption field is present, its length is specified by the fifth byte of the TS packet header.
let offset;if(atf>1){offset=start+5+data[start+4];// continue if there is only adaptation field
if(offset===start+PACKET_LENGTH){continue;}}else {offset=start+4;}switch(pid){case videoPid:if(stt){if(videoData&&(pes=parsePES(videoData))){this.videoParser.parseAVCPES(videoTrack,textTrack,pes,false,this._duration);}videoData={data:[],size:0};}if(videoData){videoData.data.push(data.subarray(offset,start+PACKET_LENGTH));videoData.size+=start+PACKET_LENGTH-offset;}break;case audioPid:if(stt){if(audioData&&(pes=parsePES(audioData))){switch(audioTrack.segmentCodec){case'aac':this.parseAACPES(audioTrack,pes);break;case'mp3':this.parseMPEGPES(audioTrack,pes);break;case'ac3':{this.parseAC3PES(audioTrack,pes);}break;}}audioData={data:[],size:0};}if(audioData){audioData.data.push(data.subarray(offset,start+PACKET_LENGTH));audioData.size+=start+PACKET_LENGTH-offset;}break;case id3Pid:if(stt){if(id3Data&&(pes=parsePES(id3Data))){this.parseID3PES(id3Track,pes);}id3Data={data:[],size:0};}if(id3Data){id3Data.data.push(data.subarray(offset,start+PACKET_LENGTH));id3Data.size+=start+PACKET_LENGTH-offset;}break;case 0:if(stt){offset+=data[offset]+1;}pmtId=this._pmtId=parsePAT(data,offset);// logger.log('PMT PID:' + this._pmtId);
-break;case pmtId:{if(stt){offset+=data[offset]+1;}const parsedPIDs=parsePMT(data,offset,this.typeSupported,isSampleAes,this.observer);// only update track id if track PID found while parsing PMT
+break;case pmtId:{if(stt){offset+=data[offset]+1;}const parsedPIDs=parsePMT(data,offset,this.typeSupported,isSampleAes);// only update track id if track PID found while parsing PMT
// this is to avoid resetting the PID to -1 in case
// track PID transiently disappears from the stream
// this could happen in case of transient missing audio samples for example
// NOTE this is only the PID of the track as found in TS,
// but we are not using this for MP4 track IDs.
videoPid=parsedPIDs.videoPid;if(videoPid>0){videoTrack.pid=videoPid;videoTrack.segmentCodec=parsedPIDs.segmentVideoCodec;}audioPid=parsedPIDs.audioPid;if(audioPid>0){audioTrack.pid=audioPid;audioTrack.segmentCodec=parsedPIDs.segmentAudioCodec;}id3Pid=parsedPIDs.id3Pid;if(id3Pid>0){id3Track.pid=id3Pid;}if(unknownPID!==null&&!pmtParsed){logger.warn(`MPEG-TS PMT found at ${start} after unknown PID '${unknownPID}'. Backtracking to sync byte @${syncOffset} to parse all TS packets.`);unknownPID=null;// we set it to -188, the += 188 in the for loop will reset start to 0
-start=syncOffset-188;}pmtParsed=this.pmtParsed=true;break;}case 0x11:case 0x1fff:break;default:unknownPID=pid;break;}}else {tsPacketErrors++;}}if(tsPacketErrors>0){emitParsingError(this.observer,new Error(`Found ${tsPacketErrors} TS packet/s that do not start with 0x47`));}videoTrack.pesData=videoData;audioTrack.pesData=audioData;id3Track.pesData=id3Data;const demuxResult={audioTrack,videoTrack,id3Track,textTrack};if(flush){this.extractRemainingSamples(demuxResult);}return demuxResult;}flush(){const{remainderData}=this;this.remainderData=null;let result;if(remainderData){result=this.demux(remainderData,-1,false,true);}else {result={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack};}this.extractRemainingSamples(result);if(this.sampleAes){return this.decrypt(result,this.sampleAes);}return result;}extractRemainingSamples(demuxResult){const{audioTrack,videoTrack,id3Track,textTrack}=demuxResult;const videoData=videoTrack.pesData;const audioData=audioTrack.pesData;const id3Data=id3Track.pesData;// try to parse last PES packets
+start=syncOffset-188;}pmtParsed=this.pmtParsed=true;break;}case 0x11:case 0x1fff:break;default:unknownPID=pid;break;}}else {tsPacketErrors++;}}if(tsPacketErrors>0){const error=new Error(`Found ${tsPacketErrors} TS packet/s that do not start with 0x47`);this.observer.emit(Events$1.ERROR,Events$1.ERROR,{type:ErrorTypes.MEDIA_ERROR,details:ErrorDetails.FRAG_PARSING_ERROR,fatal:false,error,reason:error.message});}videoTrack.pesData=videoData;audioTrack.pesData=audioData;id3Track.pesData=id3Data;const demuxResult={audioTrack,videoTrack,id3Track,textTrack};if(flush){this.extractRemainingSamples(demuxResult);}return demuxResult;}flush(){const{remainderData}=this;this.remainderData=null;let result;if(remainderData){result=this.demux(remainderData,-1,false,true);}else {result={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack};}this.extractRemainingSamples(result);if(this.sampleAes){return this.decrypt(result,this.sampleAes);}return result;}extractRemainingSamples(demuxResult){const{audioTrack,videoTrack,id3Track,textTrack}=demuxResult;const videoData=videoTrack.pesData;const audioData=audioTrack.pesData;const id3Data=id3Track.pesData;// try to parse last PES packets
let pes;if(videoData&&(pes=parsePES(videoData))){this.videoParser.parseAVCPES(videoTrack,textTrack,pes,true,this._duration);videoTrack.pesData=null;}else {// either avcData null or PES truncated, keep it for next frag parsing
videoTrack.pesData=videoData;}if(audioData&&(pes=parsePES(audioData))){switch(audioTrack.segmentCodec){case'aac':this.parseAACPES(audioTrack,pes);break;case'mp3':this.parseMPEGPES(audioTrack,pes);break;case'ac3':{this.parseAC3PES(audioTrack,pes);}break;}audioTrack.pesData=null;}else {if(audioData!=null&&audioData.size){logger.log('last AAC PES packet truncated,might overlap between fragments');}// either audioData null or PES truncated, keep it for next frag parsing
audioTrack.pesData=audioData;}if(id3Data&&(pes=parsePES(id3Data))){this.parseID3PES(id3Track,pes);id3Track.pesData=null;}else {// either id3Data null or PES truncated, keep it for next frag parsing
id3Track.pesData=id3Data;}}demuxSampleAes(data,keyData,timeOffset){const demuxResult=this.demux(data,timeOffset,true,!this.config.progressive);const sampleAes=this.sampleAes=new SampleAesDecrypter(this.observer,this.config,keyData);return this.decrypt(demuxResult,sampleAes);}decrypt(demuxResult,sampleAes){return new Promise(resolve=>{const{audioTrack,videoTrack}=demuxResult;if(audioTrack.samples&&audioTrack.segmentCodec==='aac'){sampleAes.decryptAacSamples(audioTrack.samples,0,()=>{if(videoTrack.samples){sampleAes.decryptAvcSamples(videoTrack.samples,0,0,()=>{resolve(demuxResult);});}else {resolve(demuxResult);}});}else if(videoTrack.samples){sampleAes.decryptAvcSamples(videoTrack.samples,0,0,()=>{resolve(demuxResult);});}});}destroy(){this._duration=0;}parseAACPES(track,pes){let startOffset=0;const aacOverFlow=this.aacOverFlow;let data=pes.data;if(aacOverFlow){this.aacOverFlow=null;const frameMissingBytes=aacOverFlow.missing;const sampleLength=aacOverFlow.sample.unit.byteLength;// logger.log(`AAC: append overflowing ${sampleLength} bytes to beginning of new PES`);
if(frameMissingBytes===-1){data=appendUint8Array(aacOverFlow.sample.unit,data);}else {const frameOverflowBytes=sampleLength-frameMissingBytes;aacOverFlow.sample.unit.set(data.subarray(0,frameMissingBytes),frameOverflowBytes);track.samples.push(aacOverFlow.sample);startOffset=aacOverFlow.missing;}}// look for ADTS header (0xFFFx)
let offset;let len;for(offset=startOffset,len=data.length;offset0){offset+=parsed;}}}parseID3PES(id3Track,pes){if(pes.pts===undefined){logger.warn('[tsdemuxer]: ID3 PES unknown PTS');return;}const id3Sample=_extends({},pes,{type:this._videoTrack?MetadataSchema.emsg:MetadataSchema.audioId3,duration:Number.POSITIVE_INFINITY});id3Track.samples.push(id3Sample);}}function parsePID(data,offset){// pid is a 13-bit field starting at the last bit of TS[1]
return ((data[offset+1]&0x1f)<<8)+data[offset+2];}function parsePAT(data,offset){// skip the PSI header and parse the first PMT entry
-return (data[offset+10]&0x1f)<<8|data[offset+11];}function parsePMT(data,offset,typeSupported,isSampleAes,observer){const result={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:'avc',segmentAudioCodec:'aac'};const sectionLength=(data[offset+1]&0x0f)<<8|data[offset+2];const tableEnd=offset+3+sectionLength-4;// to determine where the table is, we have to figure out how
+return (data[offset+10]&0x1f)<<8|data[offset+11];}function parsePMT(data,offset,typeSupported,isSampleAes){const result={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:'avc',segmentAudioCodec:'aac'};const sectionLength=(data[offset+1]&0x0f)<<8|data[offset+2];const tableEnd=offset+3+sectionLength-4;// to determine where the table is, we have to figure out how
// long the program info descriptors are
const programInfoLength=(data[offset+10]&0x0f)<<8|data[offset+11];// advance the offset to the first entry in the mapping table
offset+=12+programInfoLength;while(offset0){let parsePos=offset+5;let remaining=esInfoLength;while(remaining>2){const descriptorId=data[parsePos];switch(descriptorId){case 0x6a:// DVB Descriptor for AC-3
{if(typeSupported.ac3!==true){logger.log('AC-3 audio found, not supported in this browser for now');}else {result.audioPid=pid;result.segmentAudioCodec='ac3';}}break;}const descriptorLen=data[parsePos+1]+2;parsePos+=descriptorLen;remaining-=descriptorLen;}}break;case 0xc2:// SAMPLE-AES EC3
-/* falls through */case 0x87:emitParsingError(observer,new Error('Unsupported EC-3 in M2TS found'));return result;case 0x24:emitParsingError(observer,new Error('Unsupported HEVC in M2TS found'));return result;}// move to the next table entry
+/* falls through */case 0x87:throw new Error('Unsupported EC-3 in M2TS found');case 0x24:throw new Error('Unsupported HEVC in M2TS found');}// move to the next table entry
// skip past the elementary stream descriptors, if present
-offset+=esInfoLength+5;}return result;}function emitParsingError(observer,error,levelRetry){logger.warn(`parsing error: ${error.message}`);observer.emit(Events$1.ERROR,Events$1.ERROR,{type:ErrorTypes.MEDIA_ERROR,details:ErrorDetails.FRAG_PARSING_ERROR,fatal:false,levelRetry,error,reason:error.message});}function logEncryptedSamplesFoundInUnencryptedStream(type){logger.log(`${type} with AES-128-CBC encryption found in unencrypted stream`);}function parsePES(stream){let i=0;let frag;let pesLen;let pesHdrLen;let pesPts;let pesDts;const data=stream.data;// safety check
+offset+=esInfoLength+5;}return result;}function logEncryptedSamplesFoundInUnencryptedStream(type){logger.log(`${type} with AES-128-CBC encryption found in unencrypted stream`);}function parsePES(stream){let i=0;let frag;let pesLen;let pesHdrLen;let pesPts;let pesDts;const data=stream.data;// safety check
if(!stream||stream.size===0){return null;}// we might need up to 19 bytes to read PES header
// if first chunk of data is less than 19 bytes, let's merge it with following ones until we get 19 bytes
// usually only one merge is needed (and this is rare ...)
@@ -56741,7 +56985,9 @@ EventEmitter.EventEmitter=EventEmitter;//
// Expose the module.
//
{module.exports=EventEmitter;}})(eventemitter3);var eventemitter3Exports=eventemitter3.exports;var EventEmitter$1=/*@__PURE__*/getDefaultExportFromCjs(eventemitter3Exports);class TransmuxerInterface{constructor(hls,id,onTransmuxComplete,onFlush){this.error=null;this.hls=void 0;this.id=void 0;this.observer=void 0;this.frag=null;this.part=null;this.useWorker=void 0;this.workerContext=null;this.onwmsg=void 0;this.transmuxer=null;this.onTransmuxComplete=void 0;this.onFlush=void 0;const config=hls.config;this.hls=hls;this.id=id;this.useWorker=!!config.enableWorker;this.onTransmuxComplete=onTransmuxComplete;this.onFlush=onFlush;const forwardMessage=(ev,data)=>{data=data||{};data.frag=this.frag;data.id=this.id;if(ev===Events$1.ERROR){this.error=data.error;}this.hls.trigger(ev,data);};// forward events to main thread
-this.observer=new EventEmitter$1();this.observer.on(Events$1.FRAG_DECRYPTED,forwardMessage);this.observer.on(Events$1.ERROR,forwardMessage);const MediaSource=getMediaSource(config.preferManagedMediaSource)||{isTypeSupported:()=>false};const m2tsTypeSupported={mpeg:MediaSource.isTypeSupported('audio/mpeg'),mp3:MediaSource.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:MediaSource.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&typeof Worker!=='undefined'){const canCreateWorker=config.workerPath||hasUMDWorker();if(canCreateWorker){try{if(config.workerPath){logger.log(`loading Web Worker ${config.workerPath} for "${id}"`);this.workerContext=loadWorker(config.workerPath);}else {logger.log(`injecting Web Worker for "${id}"`);this.workerContext=injectWorker();}this.onwmsg=event=>this.onWorkerMessage(event);const{worker}=this.workerContext;worker.addEventListener('message',this.onwmsg);worker.onerror=event=>{const error=new Error(`${event.message} (${event.filename}:${event.lineno})`);config.enableWorker=false;logger.warn(`Error in "${id}" Web Worker, fallback to inline`);this.hls.trigger(Events$1.ERROR,{type:ErrorTypes.OTHER_ERROR,details:ErrorDetails.INTERNAL_EXCEPTION,fatal:false,event:'demuxerWorker',error});};worker.postMessage({cmd:'init',typeSupported:m2tsTypeSupported,vendor:'',id:id,config:JSON.stringify(config)});}catch(err){logger.warn(`Error setting up "${id}" Web Worker, fallback to inline`,err);this.resetWorker();this.error=null;this.transmuxer=new Transmuxer(this.observer,m2tsTypeSupported,config,'',id);}return;}}this.transmuxer=new Transmuxer(this.observer,m2tsTypeSupported,config,'',id);}resetWorker(){if(this.workerContext){const{worker,objectURL}=this.workerContext;if(objectURL){// revoke the Object URL that was used to create transmuxer worker, so as not to leak it
+this.observer=new EventEmitter$1();this.observer.on(Events$1.FRAG_DECRYPTED,forwardMessage);this.observer.on(Events$1.ERROR,forwardMessage);const MediaSource=getMediaSource(config.preferManagedMediaSource)||{isTypeSupported:()=>false};const m2tsTypeSupported={mpeg:MediaSource.isTypeSupported('audio/mpeg'),mp3:MediaSource.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:MediaSource.isTypeSupported('audio/mp4; codecs="ac-3"')};// navigator.vendor is not always available in Web Worker
+// refer to https://developer.mozilla.org/en-US/docs/Web/API/WorkerGlobalScope/navigator
+const vendor=navigator.vendor;if(this.useWorker&&typeof Worker!=='undefined'){const canCreateWorker=config.workerPath||hasUMDWorker();if(canCreateWorker){try{if(config.workerPath){logger.log(`loading Web Worker ${config.workerPath} for "${id}"`);this.workerContext=loadWorker(config.workerPath);}else {logger.log(`injecting Web Worker for "${id}"`);this.workerContext=injectWorker();}this.onwmsg=ev=>this.onWorkerMessage(ev);const{worker}=this.workerContext;worker.addEventListener('message',this.onwmsg);worker.onerror=event=>{const error=new Error(`${event.message} (${event.filename}:${event.lineno})`);config.enableWorker=false;logger.warn(`Error in "${id}" Web Worker, fallback to inline`);this.hls.trigger(Events$1.ERROR,{type:ErrorTypes.OTHER_ERROR,details:ErrorDetails.INTERNAL_EXCEPTION,fatal:false,event:'demuxerWorker',error});};worker.postMessage({cmd:'init',typeSupported:m2tsTypeSupported,vendor:vendor,id:id,config:JSON.stringify(config)});}catch(err){logger.warn(`Error setting up "${id}" Web Worker, fallback to inline`,err);this.resetWorker();this.error=null;this.transmuxer=new Transmuxer(this.observer,m2tsTypeSupported,config,vendor,id);}return;}}this.transmuxer=new Transmuxer(this.observer,m2tsTypeSupported,config,vendor,id);}resetWorker(){if(this.workerContext){const{worker,objectURL}=this.workerContext;if(objectURL){// revoke the Object URL that was used to create transmuxer worker, so as not to leak it
self.URL.revokeObjectURL(objectURL);}worker.removeEventListener('message',this.onwmsg);worker.onerror=null;worker.terminate();this.workerContext=null;}}destroy(){if(this.workerContext){this.resetWorker();this.onwmsg=undefined;}else {const transmuxer=this.transmuxer;if(transmuxer){transmuxer.destroy();this.transmuxer=null;}}const observer=this.observer;if(observer){observer.removeAllListeners();}this.frag=null;// @ts-ignore
this.observer=null;// @ts-ignore
this.hls=null;}push(data,initSegmentData,audioCodec,videoCodec,frag,part,duration,accurateTimeOffset,chunkMeta,defaultInitPTS){var _frag$initSegment,_lastFrag$initSegment;chunkMeta.transmuxing.start=self.performance.now();const{transmuxer}=this;const timeOffset=part?part.start:frag.start;// TODO: push "clear-lead" decrypt data for unencrypted fragments in streams with encrypted ones
@@ -56753,7 +56999,7 @@ const decryptdata=frag.decryptdata;const lastFrag=this.frag;const discontinuity=
timeOffset: ${timeOffset}
initSegmentChange: ${initSegmentChange}`);const config=new TransmuxConfig(audioCodec,videoCodec,initSegmentData,duration,defaultInitPTS);this.configureTransmuxer(config);}this.frag=frag;this.part=part;// Frags with sn of 'initSegment' are not transmuxed
if(this.workerContext){// post fragment payload as transferable objects for ArrayBuffer (no copy)
-this.workerContext.worker.postMessage({cmd:'demux',data,decryptdata,chunkMeta,state},data instanceof ArrayBuffer?[data]:[]);}else if(transmuxer){const transmuxResult=transmuxer.push(data,decryptdata,chunkMeta,state);if(isPromise$1(transmuxResult)){transmuxer.async=true;transmuxResult.then(data=>{this.handleTransmuxComplete(data);}).catch(error=>{this.transmuxerError(error,chunkMeta,'transmuxer-interface push error');});}else {transmuxer.async=false;this.handleTransmuxComplete(transmuxResult);}}}flush(chunkMeta){chunkMeta.transmuxing.start=self.performance.now();const{transmuxer}=this;if(this.workerContext){this.workerContext.worker.postMessage({cmd:'flush',chunkMeta});}else if(transmuxer){let transmuxResult=transmuxer.flush(chunkMeta);const asyncFlush=isPromise$1(transmuxResult);if(asyncFlush||transmuxer.async){if(!isPromise$1(transmuxResult)){transmuxResult=Promise.resolve(transmuxResult);}transmuxResult.then(data=>{this.handleFlushResult(data,chunkMeta);}).catch(error=>{this.transmuxerError(error,chunkMeta,'transmuxer-interface flush error');});}else {this.handleFlushResult(transmuxResult,chunkMeta);}}}transmuxerError(error,chunkMeta,reason){if(!this.hls){return;}this.error=error;this.hls.trigger(Events$1.ERROR,{type:ErrorTypes.MEDIA_ERROR,details:ErrorDetails.FRAG_PARSING_ERROR,chunkMeta,frag:this.frag||undefined,fatal:false,error,err:error,reason});}handleFlushResult(results,chunkMeta){results.forEach(result=>{this.handleTransmuxComplete(result);});this.onFlush(chunkMeta);}onWorkerMessage(event){const data=event.data;if(!(data!=null&&data.event)){logger.warn(`worker message received with no ${data?'event name':'data'}`);return;}const hls=this.hls;if(!this.hls){return;}switch(data.event){case'init':{var _this$workerContext;const objectURL=(_this$workerContext=this.workerContext)==null?void 0:_this$workerContext.objectURL;if(objectURL){// revoke the Object URL that was used to create transmuxer worker, so as not to leak it
+this.workerContext.worker.postMessage({cmd:'demux',data,decryptdata,chunkMeta,state},data instanceof ArrayBuffer?[data]:[]);}else if(transmuxer){const transmuxResult=transmuxer.push(data,decryptdata,chunkMeta,state);if(isPromise$1(transmuxResult)){transmuxer.async=true;transmuxResult.then(data=>{this.handleTransmuxComplete(data);}).catch(error=>{this.transmuxerError(error,chunkMeta,'transmuxer-interface push error');});}else {transmuxer.async=false;this.handleTransmuxComplete(transmuxResult);}}}flush(chunkMeta){chunkMeta.transmuxing.start=self.performance.now();const{transmuxer}=this;if(this.workerContext){this.workerContext.worker.postMessage({cmd:'flush',chunkMeta});}else if(transmuxer){let transmuxResult=transmuxer.flush(chunkMeta);const asyncFlush=isPromise$1(transmuxResult);if(asyncFlush||transmuxer.async){if(!isPromise$1(transmuxResult)){transmuxResult=Promise.resolve(transmuxResult);}transmuxResult.then(data=>{this.handleFlushResult(data,chunkMeta);}).catch(error=>{this.transmuxerError(error,chunkMeta,'transmuxer-interface flush error');});}else {this.handleFlushResult(transmuxResult,chunkMeta);}}}transmuxerError(error,chunkMeta,reason){if(!this.hls){return;}this.error=error;this.hls.trigger(Events$1.ERROR,{type:ErrorTypes.MEDIA_ERROR,details:ErrorDetails.FRAG_PARSING_ERROR,chunkMeta,frag:this.frag||undefined,fatal:false,error,err:error,reason});}handleFlushResult(results,chunkMeta){results.forEach(result=>{this.handleTransmuxComplete(result);});this.onFlush(chunkMeta);}onWorkerMessage(ev){const data=ev.data;const hls=this.hls;switch(data.event){case'init':{var _this$workerContext;const objectURL=(_this$workerContext=this.workerContext)==null?void 0:_this$workerContext.objectURL;if(objectURL){// revoke the Object URL that was used to create transmuxer worker, so as not to leak it
self.URL.revokeObjectURL(objectURL);}break;}case'transmuxComplete':{this.handleTransmuxComplete(data.data);break;}case'flush':{this.onFlush(data.data);break;}// pass logs from the worker thread to the main logger
case'workerLog':if(logger[data.data.logType]){logger[data.data.logType](data.data.message);}break;default:{data.data=data.data||{};data.data.frag=this.frag;data.data.id=this.id;hls.trigger(data.event,data.data);break;}}}configureTransmuxer(config){const{transmuxer}=this;if(this.workerContext){this.workerContext.worker.postMessage({cmd:'configure',config});}else if(transmuxer){transmuxer.configure(config);}}handleTransmuxComplete(result){result.chunkMeta.transmuxing.end=self.performance.now();this.onTransmuxComplete(result);}}function subtitleOptionsIdentical(trackList1,trackList2){if(trackList1.length!==trackList2.length){return false;}for(let i=0;i=buffered[i].start&&fragStart<=buffered[i].end){timeRange=buffered[i];break;}}const fragEnd=frag.start+frag.duration;if(timeRange){timeRange.end=fragEnd;}else {timeRange={start:fragStart,end:fragEnd};buffered.push(timeRange);}this.fragmentTracker.fragBuffered(frag);this.fragBufferedComplete(frag,null);}onBufferFlushing(event,data){const{startOffset,endOffset}=data;if(startOffset===0&&endOffset!==Number.POSITIVE_INFINITY){const endOffsetSubtitles=endOffset-1;if(endOffsetSubtitles<=0){return;}data.endOffsetSubtitles=Math.max(0,endOffsetSubtitles);this.tracksBuffered.forEach(buffered=>{for(let i=0;inew Level(mediaPlaylist));return;}this.tracksBuffered=[];this.levels=subtitleTracks.map(mediaPlaylist=>{const level=new Level(mediaPlaylist);this.tracksBuffered[level.id]=[];return level;});this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,PlaylistLevelType.SUBTITLE);this.fragPrevious=null;this.mediaBuffer=null;}onSubtitleTrackSwitch(event,data){var _this$levels;this.currentTrackId=data.id;if(!((_this$levels=this.levels)!=null&&_this$levels.length)||this.currentTrackId===-1){this.clearInterval();return;}// Check if track has the necessary details to load fragments
const currentTrack=this.levels[this.currentTrackId];if(currentTrack!=null&¤tTrack.details){this.mediaBuffer=this.mediaBufferTimeRanges;}else {this.mediaBuffer=null;}if(currentTrack){this.setInterval(TICK_INTERVAL$1);}}// Got a new set of subtitle fragments.
onSubtitleTrackLoaded(event,data){var _track$details;const{currentTrackId,levels}=this;const{details:newDetails,id:trackId}=data;if(!levels){this.warn(`Subtitle tracks were reset while loading level ${trackId}`);return;}const track=levels[trackId];if(trackId>=levels.length||!track){return;}this.log(`Subtitle track ${trackId} loaded [${newDetails.startSN},${newDetails.endSN}]${newDetails.lastPartSn?`[part-${newDetails.lastPartSn}-${newDetails.lastPartIndex}]`:''},duration:${newDetails.totalduration}`);this.mediaBuffer=this.mediaBufferTimeRanges;let sliding=0;if(newDetails.live||(_track$details=track.details)!=null&&_track$details.live){const mainDetails=this.mainDetails;if(newDetails.deltaUpdateFailed||!mainDetails){return;}const mainSlidingStartFragment=mainDetails.fragments[0];if(!track.details){if(newDetails.hasProgramDateTime&&mainDetails.hasProgramDateTime){alignMediaPlaylistByPDT(newDetails,mainDetails);sliding=newDetails.fragments[0].start;}else if(mainSlidingStartFragment){// line up live playlist with main so that fragments in range are loaded
@@ -57968,14 +58214,15 @@ this.hls=null;this.levels=this.audioTracks=this.subtitleTracks=null;}removeLevel
pathwayPriority=levels.reduce((pathways,level)=>{if(pathways.indexOf(level.pathwayId)===-1){pathways.push(level.pathwayId);}return pathways;},[]);}if(pathwayPriority&&pathwayPriority.length>1){this.updatePathwayPriority(pathwayPriority);errorAction.resolved=this.pathwayId!==errorPathway;}if(!errorAction.resolved){logger.warn(`Could not resolve ${data.details} ("${data.error.message}") with content-steering for Pathway: ${errorPathway} levels: ${levels?levels.length:levels} priorities: ${JSON.stringify(pathwayPriority)} penalized: ${JSON.stringify(this.penalizedPathways)}`);}}}filterParsedLevels(levels){// Filter levels to only include those that are in the initial pathway
this.levels=levels;let pathwayLevels=this.getLevelsForPathway(this.pathwayId);if(pathwayLevels.length===0){const pathwayId=levels[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${pathwayId}"`);pathwayLevels=this.getLevelsForPathway(pathwayId);this.pathwayId=pathwayId;}if(pathwayLevels.length!==levels.length){this.log(`Found ${pathwayLevels.length}/${levels.length} levels in Pathway "${this.pathwayId}"`);return pathwayLevels;}return levels;}getLevelsForPathway(pathwayId){if(this.levels===null){return [];}return this.levels.filter(level=>pathwayId===level.pathwayId);}updatePathwayPriority(pathwayPriority){this.pathwayPriority=pathwayPriority;let levels;// Evaluate if we should remove the pathway from the penalized list
const penalizedPathways=this.penalizedPathways;const now=performance.now();Object.keys(penalizedPathways).forEach(pathwayId=>{if(now-penalizedPathways[pathwayId]>PATHWAY_PENALTY_DURATION_MS){delete penalizedPathways[pathwayId];}});for(let i=0;i0){this.log(`Setting Pathway to "${pathwayId}"`);this.pathwayId=pathwayId;reassignFragmentLevelIndexes(levels);this.hls.trigger(Events$1.LEVELS_UPDATED,{levels});// Set LevelController's level to trigger LEVEL_SWITCHING which loads playlist if needed
-const levelAfterChange=this.hls.levels[selectedIndex];if(selectedLevel&&levelAfterChange&&this.levels){if(levelAfterChange.attrs['STABLE-VARIANT-ID']!==selectedLevel.attrs['STABLE-VARIANT-ID']&&levelAfterChange.bitrate!==selectedLevel.bitrate){this.log(`Unstable Pathways change from bitrate ${selectedLevel.bitrate} to ${levelAfterChange.bitrate}`);}this.hls.nextLoadLevel=selectedIndex;}break;}}}getPathwayForGroupId(groupId,type,defaultPathway){const levels=this.getLevelsForPathway(defaultPathway).concat(this.levels||[]);for(let i=0;i{const{ID:cloneId,'BASE-ID':baseId,'URI-REPLACEMENT':uriReplacement}=pathwayClone;if(levels.some(level=>level.pathwayId===cloneId)){return;}const clonedVariants=this.getLevelsForPathway(baseId).map(baseLevel=>{const attributes=new AttrList(baseLevel.attrs);attributes['PATHWAY-ID']=cloneId;const clonedAudioGroupId=attributes.AUDIO&&`${attributes.AUDIO}_clone_${cloneId}`;const clonedSubtitleGroupId=attributes.SUBTITLES&&`${attributes.SUBTITLES}_clone_${cloneId}`;if(clonedAudioGroupId){audioGroupCloneMap[attributes.AUDIO]=clonedAudioGroupId;attributes.AUDIO=clonedAudioGroupId;}if(clonedSubtitleGroupId){subtitleGroupCloneMap[attributes.SUBTITLES]=clonedSubtitleGroupId;attributes.SUBTITLES=clonedSubtitleGroupId;}const url=performUriReplacement(baseLevel.uri,attributes['STABLE-VARIANT-ID'],'PER-VARIANT-URIS',uriReplacement);const clonedLevel=new Level({attrs:attributes,audioCodec:baseLevel.audioCodec,bitrate:baseLevel.bitrate,height:baseLevel.height,name:baseLevel.name,url,videoCodec:baseLevel.videoCodec,width:baseLevel.width});if(baseLevel.audioGroups){for(let i=1;i{this.log(`Loaded steering manifest: "${url}"`);const steeringData=response.data;if(steeringData.VERSION!==1){this.log(`Steering VERSION ${steeringData.VERSION} not supported!`);return;}this.updated=performance.now();this.timeToLoad=steeringData.TTL;const{'RELOAD-URI':reloadUri,'PATHWAY-CLONES':pathwayClones,'PATHWAY-PRIORITY':pathwayPriority}=steeringData;if(reloadUri){try{this.uri=new self.URL(reloadUri,url).href;}catch(error){this.enabled=false;this.log(`Failed to parse Steering Manifest RELOAD-URI: ${reloadUri}`);return;}}this.scheduleRefresh(this.uri||context.url);if(pathwayClones){this.clonePathways(pathwayClones);}const loadedSteeringData={steeringManifest:steeringData,url:url.toString()};this.hls.trigger(Events$1.STEERING_MANIFEST_LOADED,loadedSteeringData);if(pathwayPriority){this.updatePathwayPriority(pathwayPriority);}},onError:(error,context,networkDetails,stats)=>{this.log(`Error loading steering manifest: ${error.code} ${error.text} (${context.url})`);this.stopLoad();if(error.code===410){this.enabled=false;this.log(`Steering manifest ${context.url} no longer available`);return;}let ttl=this.timeToLoad*1000;if(error.code===429){const loader=this.loader;if(typeof(loader==null?void 0:loader.getResponseHeader)==='function'){const retryAfter=loader.getResponseHeader('Retry-After');if(retryAfter){ttl=parseFloat(retryAfter)*1000;}}this.log(`Steering manifest ${context.url} rate limited`);return;}this.scheduleRefresh(this.uri||context.url,ttl);},onTimeout:(stats,context,networkDetails)=>{this.log(`Timeout loading steering manifest (${context.url})`);this.scheduleRefresh(this.uri||context.url);}};this.log(`Requesting steering manifest: ${url}`);this.loader.load(context,loaderConfig,callbacks);}scheduleRefresh(uri,ttlMs=this.timeToLoad*1000){this.clearTimeout();this.reloadTimer=self.setTimeout(()=>{var _this$hls;const media=(_this$hls=this.hls)==null?void 0:_this$hls.media;if(media&&!media.ended){this.loadSteeringManifest(uri);return;}this.scheduleRefresh(uri,this.timeToLoad*1000);},ttlMs);}}function cloneRenditionGroups(tracks,groupCloneMap,uriReplacement,cloneId){if(!tracks){return;}Object.keys(groupCloneMap).forEach(audioGroupId=>{const clonedTracks=tracks.filter(track=>track.groupId===audioGroupId).map(track=>{const clonedTrack=_extends({},track);clonedTrack.details=undefined;clonedTrack.attrs=new AttrList(clonedTrack.attrs);clonedTrack.url=clonedTrack.attrs.URI=performUriReplacement(track.url,track.attrs['STABLE-RENDITION-ID'],'PER-RENDITION-URIS',uriReplacement);clonedTrack.groupId=clonedTrack.attrs['GROUP-ID']=groupCloneMap[audioGroupId];clonedTrack.attrs['PATHWAY-ID']=cloneId;return clonedTrack;});tracks.push(...clonedTracks);});}function performUriReplacement(uri,stableId,perOptionKey,uriReplacement){const{HOST:host,PARAMS:params,[perOptionKey]:perOptionUris}=uriReplacement;let perVariantUri;if(stableId){perVariantUri=perOptionUris==null?void 0:perOptionUris[stableId];if(perVariantUri){uri=perVariantUri;}}const url=new self.URL(uri);if(host&&!perVariantUri){url.host=host;}if(params){Object.keys(params).sort().forEach(key=>{if(key){url.searchParams.set(key,params[key]);}});}return url.href;}const AGE_HEADER_LINE_REGEX=/^age:\s*[\d.]+\s*$/im;class XhrLoader{constructor(config){this.xhrSetup=void 0;this.requestTimeout=void 0;this.retryTimeout=void 0;this.retryDelay=void 0;this.config=null;this.callbacks=null;this.context=null;this.loader=null;this.stats=void 0;this.xhrSetup=config?config.xhrSetup||null:null;this.stats=new LoadStats();this.retryDelay=0;}destroy(){this.callbacks=null;this.abortInternal();this.loader=null;this.config=null;this.context=null;this.xhrSetup=null;}abortInternal(){const loader=this.loader;self.clearTimeout(this.requestTimeout);self.clearTimeout(this.retryTimeout);if(loader){loader.onreadystatechange=null;loader.onprogress=null;if(loader.readyState!==4){this.stats.aborted=true;loader.abort();}}}abort(){var _this$callbacks;this.abortInternal();if((_this$callbacks=this.callbacks)!=null&&_this$callbacks.onAbort){this.callbacks.onAbort(this.stats,this.context,this.loader);}}load(context,config,callbacks){if(this.stats.loading.start){throw new Error('Loader can only be used once.');}this.stats.loading.start=self.performance.now();this.context=context;this.config=config;this.callbacks=callbacks;this.loadInternal();}loadInternal(){const{config,context}=this;if(!config||!context){return;}const xhr=this.loader=new self.XMLHttpRequest();const stats=this.stats;stats.loading.first=0;stats.loaded=0;stats.aborted=false;const xhrSetup=this.xhrSetup;if(xhrSetup){Promise.resolve().then(()=>{if(this.loader!==xhr||this.stats.aborted)return;return xhrSetup(xhr,context.url);}).catch(error=>{if(this.loader!==xhr||this.stats.aborted)return;xhr.open('GET',context.url,true);return xhrSetup(xhr,context.url);}).then(()=>{if(this.loader!==xhr||this.stats.aborted)return;this.openAndSendXhr(xhr,context,config);}).catch(error=>{// IE11 throws an exception on xhr.open if attempting to access an HTTP resource over HTTPS
+const levelAfterChange=this.hls.levels[selectedIndex];if(selectedLevel&&levelAfterChange&&this.levels){if(levelAfterChange.attrs['STABLE-VARIANT-ID']!==selectedLevel.attrs['STABLE-VARIANT-ID']&&levelAfterChange.bitrate!==selectedLevel.bitrate){this.log(`Unstable Pathways change from bitrate ${selectedLevel.bitrate} to ${levelAfterChange.bitrate}`);}this.hls.nextLoadLevel=selectedIndex;}break;}}}getPathwayForGroupId(groupId,type,defaultPathway){const levels=this.getLevelsForPathway(defaultPathway).concat(this.levels||[]);for(let i=0;i{const{ID:cloneId,'BASE-ID':baseId,'URI-REPLACEMENT':uriReplacement}=pathwayClone;if(levels.some(level=>level.pathwayId===cloneId)){return;}const clonedVariants=this.getLevelsForPathway(baseId).map(baseLevel=>{const attributes=new AttrList(baseLevel.attrs);attributes['PATHWAY-ID']=cloneId;const clonedAudioGroupId=attributes.AUDIO&&`${attributes.AUDIO}_clone_${cloneId}`;const clonedSubtitleGroupId=attributes.SUBTITLES&&`${attributes.SUBTITLES}_clone_${cloneId}`;if(clonedAudioGroupId){audioGroupCloneMap[attributes.AUDIO]=clonedAudioGroupId;attributes.AUDIO=clonedAudioGroupId;}if(clonedSubtitleGroupId){subtitleGroupCloneMap[attributes.SUBTITLES]=clonedSubtitleGroupId;attributes.SUBTITLES=clonedSubtitleGroupId;}const url=performUriReplacement(baseLevel.uri,attributes['STABLE-VARIANT-ID'],'PER-VARIANT-URIS',uriReplacement);const clonedLevel=new Level({attrs:attributes,audioCodec:baseLevel.audioCodec,bitrate:baseLevel.bitrate,height:baseLevel.height,name:baseLevel.name,url,videoCodec:baseLevel.videoCodec,width:baseLevel.width});if(baseLevel.audioGroups){for(let i=1;i{this.log(`Loaded steering manifest: "${url}"`);const steeringData=response.data;if(steeringData.VERSION!==1){this.log(`Steering VERSION ${steeringData.VERSION} not supported!`);return;}this.updated=performance.now();this.timeToLoad=steeringData.TTL;const{'RELOAD-URI':reloadUri,'PATHWAY-CLONES':pathwayClones,'PATHWAY-PRIORITY':pathwayPriority}=steeringData;if(reloadUri){try{this.uri=new self.URL(reloadUri,url).href;}catch(error){this.enabled=false;this.log(`Failed to parse Steering Manifest RELOAD-URI: ${reloadUri}`);return;}}this.scheduleRefresh(this.uri||context.url);if(pathwayClones){this.clonePathways(pathwayClones);}const loadedSteeringData={steeringManifest:steeringData,url:url.toString()};this.hls.trigger(Events$1.STEERING_MANIFEST_LOADED,loadedSteeringData);if(pathwayPriority){this.updatePathwayPriority(pathwayPriority);}},onError:(error,context,networkDetails,stats)=>{this.log(`Error loading steering manifest: ${error.code} ${error.text} (${context.url})`);this.stopLoad();if(error.code===410){this.enabled=false;this.log(`Steering manifest ${context.url} no longer available`);return;}let ttl=this.timeToLoad*1000;if(error.code===429){const loader=this.loader;if(typeof(loader==null?void 0:loader.getResponseHeader)==='function'){const retryAfter=loader.getResponseHeader('Retry-After');if(retryAfter){ttl=parseFloat(retryAfter)*1000;}}this.log(`Steering manifest ${context.url} rate limited`);return;}this.scheduleRefresh(this.uri||context.url,ttl);},onTimeout:(stats,context,networkDetails)=>{this.log(`Timeout loading steering manifest (${context.url})`);this.scheduleRefresh(this.uri||context.url);}};this.log(`Requesting steering manifest: ${url}`);this.loader.load(context,loaderConfig,callbacks);}scheduleRefresh(uri,ttlMs=this.timeToLoad*1000){this.clearTimeout();this.reloadTimer=self.setTimeout(()=>{var _this$hls;const media=(_this$hls=this.hls)==null?void 0:_this$hls.media;if(media&&!media.ended){this.loadSteeringManifest(uri);return;}this.scheduleRefresh(uri,this.timeToLoad*1000);},ttlMs);}}function cloneRenditionGroups(tracks,groupCloneMap,uriReplacement,cloneId){if(!tracks){return;}Object.keys(groupCloneMap).forEach(audioGroupId=>{const clonedTracks=tracks.filter(track=>track.groupId===audioGroupId).map(track=>{const clonedTrack=_extends({},track);clonedTrack.details=undefined;clonedTrack.attrs=new AttrList(clonedTrack.attrs);clonedTrack.url=clonedTrack.attrs.URI=performUriReplacement(track.url,track.attrs['STABLE-RENDITION-ID'],'PER-RENDITION-URIS',uriReplacement);clonedTrack.groupId=clonedTrack.attrs['GROUP-ID']=groupCloneMap[audioGroupId];clonedTrack.attrs['PATHWAY-ID']=cloneId;return clonedTrack;});tracks.push(...clonedTracks);});}function performUriReplacement(uri,stableId,perOptionKey,uriReplacement){const{HOST:host,PARAMS:params,[perOptionKey]:perOptionUris}=uriReplacement;let perVariantUri;if(stableId){perVariantUri=perOptionUris==null?void 0:perOptionUris[stableId];if(perVariantUri){uri=perVariantUri;}}const url=new self.URL(uri);if(host&&!perVariantUri){url.host=host;}if(params){Object.keys(params).sort().forEach(key=>{if(key){url.searchParams.set(key,params[key]);}});}return url.href;}const AGE_HEADER_LINE_REGEX=/^age:\s*[\d.]+\s*$/im;class XhrLoader{constructor(config){this.xhrSetup=void 0;this.requestTimeout=void 0;this.retryTimeout=void 0;this.retryDelay=void 0;this.config=null;this.callbacks=null;this.context=null;this.loader=null;this.stats=void 0;this.xhrSetup=config?config.xhrSetup||null:null;this.stats=new LoadStats();this.retryDelay=0;}destroy(){this.callbacks=null;this.abortInternal();this.loader=null;this.config=null;this.context=null;this.xhrSetup=null;// @ts-ignore
+this.stats=null;}abortInternal(){const loader=this.loader;self.clearTimeout(this.requestTimeout);self.clearTimeout(this.retryTimeout);if(loader){loader.onreadystatechange=null;loader.onprogress=null;if(loader.readyState!==4){this.stats.aborted=true;loader.abort();}}}abort(){var _this$callbacks;this.abortInternal();if((_this$callbacks=this.callbacks)!=null&&_this$callbacks.onAbort){this.callbacks.onAbort(this.stats,this.context,this.loader);}}load(context,config,callbacks){if(this.stats.loading.start){throw new Error('Loader can only be used once.');}this.stats.loading.start=self.performance.now();this.context=context;this.config=config;this.callbacks=callbacks;this.loadInternal();}loadInternal(){const{config,context}=this;if(!config||!context){return;}const xhr=this.loader=new self.XMLHttpRequest();const stats=this.stats;stats.loading.first=0;stats.loaded=0;stats.aborted=false;const xhrSetup=this.xhrSetup;if(xhrSetup){Promise.resolve().then(()=>{if(this.stats.aborted)return;return xhrSetup(xhr,context.url);}).catch(error=>{xhr.open('GET',context.url,true);return xhrSetup(xhr,context.url);}).then(()=>{if(this.stats.aborted)return;this.openAndSendXhr(xhr,context,config);}).catch(error=>{// IE11 throws an exception on xhr.open if attempting to access an HTTP resource over HTTPS
this.callbacks.onError({code:xhr.status,text:error.message},context,xhr,stats);return;});}else {this.openAndSendXhr(xhr,context,config);}}openAndSendXhr(xhr,context,config){if(!xhr.readyState){xhr.open('GET',context.url,true);}const headers=context.headers;const{maxTimeToFirstByteMs,maxLoadTimeMs}=config.loadPolicy;if(headers){for(const header in headers){xhr.setRequestHeader(header,headers[header]);}}if(context.rangeEnd){xhr.setRequestHeader('Range','bytes='+context.rangeStart+'-'+(context.rangeEnd-1));}xhr.onreadystatechange=this.readystatechange.bind(this);xhr.onprogress=this.loadprogress.bind(this);xhr.responseType=context.responseType;// setup timeout before we perform request
self.clearTimeout(this.requestTimeout);config.timeout=maxTimeToFirstByteMs&&isFiniteNumber(maxTimeToFirstByteMs)?maxTimeToFirstByteMs:maxLoadTimeMs;this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),config.timeout);xhr.send();}readystatechange(){const{context,loader:xhr,stats}=this;if(!context||!xhr){return;}const readyState=xhr.readyState;const config=this.config;// don't proceed if xhr has been aborted
if(stats.aborted){return;}// >= HEADERS_RECEIVED
if(readyState>=2){if(stats.loading.first===0){stats.loading.first=Math.max(self.performance.now(),stats.loading.start);// readyState >= 2 AND readyState !==4 (readyState = HEADERS_RECEIVED || LOADING) rearm timeout as xhr not finished yet
if(config.timeout!==config.loadPolicy.maxLoadTimeMs){self.clearTimeout(this.requestTimeout);config.timeout=config.loadPolicy.maxLoadTimeMs;this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),config.loadPolicy.maxLoadTimeMs-(stats.loading.first-stats.loading.start));}}if(readyState===4){self.clearTimeout(this.requestTimeout);xhr.onreadystatechange=null;xhr.onprogress=null;const status=xhr.status;// http status between 200 to 299 are all successful
const useResponse=xhr.responseType!=='text';if(status>=200&&status<300&&(useResponse&&xhr.response||xhr.responseText!==null)){stats.loading.end=Math.max(self.performance.now(),stats.loading.first);const data=useResponse?xhr.response:xhr.responseText;const len=xhr.responseType==='arraybuffer'?data.byteLength:data.length;stats.loaded=stats.total=len;stats.bwEstimate=stats.total*8000/(stats.loading.end-stats.loading.first);if(!this.callbacks){return;}const onProgress=this.callbacks.onProgress;if(onProgress){onProgress(stats,context,data,xhr);}if(!this.callbacks){return;}const response={url:xhr.responseURL,data:data,code:status};this.callbacks.onSuccess(response,stats,context,xhr);}else {const retryConfig=config.loadPolicy.errorRetry;const retryCount=stats.retry;// if max nb of retries reached or if http status between 400 and 499 (such error cannot be recovered, retrying is useless), return error
-const response={url:context.url,data:undefined,code:status};if(shouldRetry(retryConfig,retryCount,false,response)){this.retry(retryConfig);}else {logger.error(`${status} while loading ${context.url}`);this.callbacks.onError({code:status,text:xhr.statusText},context,xhr,stats);}}}}}loadtimeout(){if(!this.config)return;const retryConfig=this.config.loadPolicy.timeoutRetry;const retryCount=this.stats.retry;if(shouldRetry(retryConfig,retryCount,true)){this.retry(retryConfig);}else {var _this$context;logger.warn(`timeout while loading ${(_this$context=this.context)==null?void 0:_this$context.url}`);const callbacks=this.callbacks;if(callbacks){this.abortInternal();callbacks.onTimeout(this.stats,this.context,this.loader);}}}retry(retryConfig){const{context,stats}=this;this.retryDelay=getRetryDelay(retryConfig,stats.retry);stats.retry++;logger.warn(`${status?'HTTP Status '+status:'Timeout'} while loading ${context==null?void 0:context.url}, retrying ${stats.retry}/${retryConfig.maxNumRetry} in ${this.retryDelay}ms`);// abort and reset internal state
+const response={url:context.url,data:undefined,code:status};if(shouldRetry(retryConfig,retryCount,false,response)){this.retry(retryConfig);}else {logger.error(`${status} while loading ${context.url}`);this.callbacks.onError({code:status,text:xhr.statusText},context,xhr,stats);}}}}}loadtimeout(){var _this$config;const retryConfig=(_this$config=this.config)==null?void 0:_this$config.loadPolicy.timeoutRetry;const retryCount=this.stats.retry;if(shouldRetry(retryConfig,retryCount,true)){this.retry(retryConfig);}else {var _this$context;logger.warn(`timeout while loading ${(_this$context=this.context)==null?void 0:_this$context.url}`);const callbacks=this.callbacks;if(callbacks){this.abortInternal();callbacks.onTimeout(this.stats,this.context,this.loader);}}}retry(retryConfig){const{context,stats}=this;this.retryDelay=getRetryDelay(retryConfig,stats.retry);stats.retry++;logger.warn(`${status?'HTTP Status '+status:'Timeout'} while loading ${context==null?void 0:context.url}, retrying ${stats.retry}/${retryConfig.maxNumRetry} in ${this.retryDelay}ms`);// abort and reset internal state
this.abortInternal();this.loader=null;// schedule retry
self.clearTimeout(this.retryTimeout);this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay);}loadprogress(event){const stats=this.stats;stats.loaded=event.loaded;if(event.lengthComputable){stats.total=event.total;}}getCacheAge(){let result=null;if(this.loader&&AGE_HEADER_LINE_REGEX.test(this.loader.getAllResponseHeaders())){const ageHeader=this.loader.getResponseHeader('age');result=ageHeader?parseFloat(ageHeader):null;}return result;}getResponseHeader(name){if(this.loader&&new RegExp(`^${name}:\\s*[\\d.]+\\s*$`,'im').test(this.loader.getAllResponseHeaders())){return this.loader.getResponseHeader(name);}return null;}}function fetchSupported(){if(// @ts-ignore
self.fetch&&self.AbortController&&self.ReadableStream&&self.Request){try{new self.ReadableStream({});// eslint-disable-line no-new
@@ -58276,7 +58523,7 @@ if(this.altAudio&&!this.audioOnly){delete tracks.audio;}// include levelCodec in
const{audio,video,audiovideo}=tracks;if(audio){let audioCodec=currentLevel.audioCodec;const ua=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){if(audioCodec){if(audioCodec.indexOf('mp4a.40.5')!==-1){audioCodec='mp4a.40.2';}else {audioCodec='mp4a.40.5';}}// In the case that AAC and HE-AAC audio codecs are signalled in manifest,
// force HE-AAC, as it seems that most browsers prefers it.
// don't force HE-AAC if mono stream, or in Firefox
-const audioMetadata=audio.metadata;if(audioMetadata&&'channelCount'in audioMetadata&&(audioMetadata.channelCount||1)!==1&&ua.indexOf('firefox')===-1){audioCodec='mp4a.40.5';}}// HE-AAC is broken on Android, always signal audio codec as AAC even if variant manifest states otherwise
+if(audio.metadata.channelCount!==1&&ua.indexOf('firefox')===-1){audioCodec='mp4a.40.5';}}// HE-AAC is broken on Android, always signal audio codec as AAC even if variant manifest states otherwise
if(audioCodec&&audioCodec.indexOf('mp4a.40.5')!==-1&&ua.indexOf('android')!==-1&&audio.container!=='audio/mpeg'){// Exclude mpeg audio
audioCodec='mp4a.40.2';this.log(`Android: force audio codec to ${audioCodec}`);}if(currentLevel.audioCodec&¤tLevel.audioCodec!==audioCodec){this.log(`Swapping manifest audio codec "${currentLevel.audioCodec}" for "${audioCodec}"`);}audio.levelCodec=audioCodec;audio.id='main';this.log(`Init audio buffer, container:${audio.container}, codecs[selected/level/parsed]=[${audioCodec||''}/${currentLevel.audioCodec||''}/${audio.codec}]`);}if(video){video.levelCodec=currentLevel.videoCodec;video.id='main';this.log(`Init video buffer, container:${video.container}, codecs[level/parsed]=[${currentLevel.videoCodec||''}/${video.codec}]`);}if(audiovideo){this.log(`Init audiovideo buffer, container:${audiovideo.container}, codecs[level/parsed]=[${currentLevel.codecs}/${audiovideo.codec}]`);}this.hls.trigger(Events$1.BUFFER_CODECS,tracks);// loop through tracks that are going to be provided to bufferController
Object.keys(tracks).forEach(trackName=>{const track=tracks[trackName];const initSegment=track.initSegment;if(initSegment!=null&&initSegment.byteLength){this.hls.trigger(Events$1.BUFFER_APPENDING,{type:trackName,data:initSegment,frag,part:null,chunkMeta,parent:frag.type});}});// trigger handler right now
@@ -58295,7 +58542,7 @@ this.backtrackFragment=frag;this.resetTransmuxer();this.flushBufferGap(frag);thi
* @public
*/class Hls{/**
* Get the video-dev/hls.js package version.
- */static get version(){return "1.5.13";}/**
+ */static get version(){return "1.5.9";}/**
* Check if the required MediaSource Extensions are available.
*/static isMSESupported(){return isMSESupported();}/**
* Check if MediaSource Extensions are available and isTypeSupported checks pass for any baseline codecs.
@@ -60322,11 +60569,11 @@ var vueAplayer_min = createCommonjsModule(function (module, exports) {
var vueAplayer = unwrapExports(vueAplayer_min);
vueAplayer_min.VueAPlayer;
-var playIcon$5 = "data:image/png;base64,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";
+var playIcon$4 = "data:image/png;base64,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";
-var pauseIcon$4 = "data:image/png;base64,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";
+var pauseIcon$3 = "data:image/png;base64,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";
-var audioIcon$3 = "data:image/png;base64,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";
+var audioIcon$2 = "data:image/png;base64,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";
var coverLocal$2 = "5d9cf0a5d487a818.png";
@@ -60335,7 +60582,7 @@ var playRepeat$2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAaCAMAAA
var playOnce$2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAgCAMAAAA2a+hwAAAAAXNSR0IArs4c6QAAAlJQTFRFAAAAgID/QID/QID/OY7jRovoO4nrSZLtRIjuPIfwQIzyQJnySZLzRpfzQ4X0QIrqQo7sPo3tEN73RI/wPI3yQZDrPo/sQ4ztQ4zzO4jtQY7tPo7uPYvuQI/vOY3vPo3vPIzrQZHwNqL1QI7wRYTrK4b2QY/uP47uR47yQIvvP43rQI/wP5DwSXz0QozuPYvxQY/uQI3uQY3vQI/yQZDzQpDwQ472QI3uPIn3P4vqQo7vQo3tQI3uQJDuQI7uQI3uQI7sQo7sQpHxQY3sPo7vQI7tQI/xQY7tQY3tQY3vPo7vQo/rP5HuQY3uQJDxQorsQo7sQo7vOI3xQovrQo3rQY7tQY3tQI7tQI3sPY/wN5vvQo7vNKPyQY7tQ43tQY/uQorsQI7sQY3uPJfwQI7wPpPuP4/vQY7tTnTsRJPxP47vQYzsPZDvP43uQo7sO5jvQY3uPZDwQ4ftQI7tQo3uQY7uQo7uQY7tQY7tQ43wQY7tQI3tQI7uQI7tQI/wP4zuQ5DtQY7tRJHsQI7tQY7tQI7tQY7uQI7uQY3uQo7tPpHtQI7tQY/sQY7sQY/tQY7tQY7tQY3sQY/uQI7tQY7tQo7uQo/uSY7tQY/tTXnqQY3tQY7tQY7tQY7tQY7tQY7uQY7tPZXtQY3tQY7tQY7tQY7tQo/tP5LqQI/rQI/sQY3sQY7rQY7sQY7tQY/rQY/sQY/tQZDtQozsQo3rQo3sQo3tQo7qQo7rQo7sQo7tQo/tQ4vsQ4zrQ47qQ47sRIfrRInsRI/rRI/sRYnsR4TqR4fqvnKd/wAAAKd0Uk5TAAIECAkLDQ4PERQUFRYXGBsdHyImJykqKisrLS4wMTEzMzQ0NDs7PT1AQURFRklLS0xOUFNVWFxdYWFlZ2doa2xsbW5vb3BxcnJzdHl5fHx8fH+AgIGCg4iJjIyOjpGSkpOUlZeZm56goaKio6OjpKaqqq6vsLO0t7i5vL7GxsfHyMjLy8zN0tTW2trc4ubn6erq7Ozs7Ozu7vHz9Pb3+Pn6+/v9/v6utNnsAAABnklEQVQYGY3BhVsTcQDH4c8QRbCwu7tbVFQsPLu7u3t2YRfYXRhg7r4GMnYzMPm/nLf7nTjkeXxf/lv7I3OoVP+IllCpvg80l39rNiTrkrQymQpqTD4rV7QriabkRx3tnXdP9tQqkDGAP1IPKXw6qy7ZciYCqbLnY6RdkDKBUVI2MUlL39jr8eQV3elATKdTI4kb+6FsMa7NZY/rkWDw8589ielS8qU3FWwquRoAcu0N+Opg3AxNgFalr2rhSd/3qBuece8vwszvOXjGFEiz8dQOC46GRuNK3iMVaDzG+TBct3vgSpGGrpOFse0rPH3blLhGrdkqC2P5OyhUQ3y7ZWEs/AG31RlfUBbGmiLIdQbiC8rC2P8SNkaW4QvKwrgfhkGhu/h2aRKedsVhqGnb/TAOazqend8OAit0BWP4ycbEdXxR2hJIeRJZS6LArc87+K2Xo2n8Len46xsBXAs+fVxFeU3OhJ61wTNL0XPdMarOkPOwLb7M/GIdGNE8rVr1+n1WX3OcYw0oJ32LnKhcjvKGkaDFohOFirm8PQPPL6EvjEOwGD5qAAAAAElFTkSuQmCC";
//
-var script$5m = {
+var script$5g = {
name: 'XmlAudioModalPlayer',
props: {
//模式:preview 预览 (默认),editor 编辑
@@ -60444,9 +60691,9 @@ var script$5m = {
},
data() {
return {
- playIcon: playIcon$5,
- pauseIcon: pauseIcon$4,
- audioIcon: audioIcon$3,
+ playIcon: playIcon$4,
+ pauseIcon: pauseIcon$3,
+ audioIcon: audioIcon$2,
coverLocal: coverLocal$2,
isPlay: false,
playTime: 0,
@@ -60566,10 +60813,10 @@ var script$5m = {
};
/* script */
-const __vue_script__$5m = script$5m;
+const __vue_script__$5g = script$5g;
/* template */
-var __vue_render__$5m = function () {
+var __vue_render__$5g = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -60692,17 +60939,17 @@ var __vue_render__$5m = function () {
}),
])
};
-var __vue_staticRenderFns__$5m = [];
-__vue_render__$5m._withStripped = true;
+var __vue_staticRenderFns__$5g = [];
+__vue_render__$5g._withStripped = true;
/* style */
- const __vue_inject_styles__$5m = undefined;
+ const __vue_inject_styles__$5g = undefined;
/* scoped */
- const __vue_scope_id__$5m = undefined;
+ const __vue_scope_id__$5g = undefined;
/* module identifier */
- const __vue_module_identifier__$5m = undefined;
+ const __vue_module_identifier__$5g = undefined;
/* functional template */
- const __vue_is_functional_template__$5m = false;
+ const __vue_is_functional_template__$5g = false;
/* style inject */
/* style inject SSR */
@@ -60711,13 +60958,13 @@ __vue_render__$5m._withStripped = true;
- const __vue_component__$5m = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5m, staticRenderFns: __vue_staticRenderFns__$5m },
- __vue_inject_styles__$5m,
- __vue_script__$5m,
- __vue_scope_id__$5m,
- __vue_is_functional_template__$5m,
- __vue_module_identifier__$5m,
+ const __vue_component__$5g = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5g, staticRenderFns: __vue_staticRenderFns__$5g },
+ __vue_inject_styles__$5g,
+ __vue_script__$5g,
+ __vue_scope_id__$5g,
+ __vue_is_functional_template__$5g,
+ __vue_module_identifier__$5g,
false,
undefined,
undefined,
@@ -60725,11 +60972,11 @@ __vue_render__$5m._withStripped = true;
);
//
-var script$5l = {
+var script$5f = {
name: 'XmlMusicRender',
components: {
vueAplayer,
- XmlAudioModalPlayer: __vue_component__$5m
+ XmlAudioModalPlayer: __vue_component__$5g
},
props: {
//模式:preview 预览 (默认),editor 编辑
@@ -60844,10 +61091,10 @@ var script$5l = {
};
/* script */
-const __vue_script__$5l = script$5l;
+const __vue_script__$5f = script$5f;
/* template */
-var __vue_render__$5l = function () {
+var __vue_render__$5f = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -61016,17 +61263,17 @@ var __vue_render__$5l = function () {
2
)
};
-var __vue_staticRenderFns__$5l = [];
-__vue_render__$5l._withStripped = true;
+var __vue_staticRenderFns__$5f = [];
+__vue_render__$5f._withStripped = true;
/* style */
- const __vue_inject_styles__$5l = undefined;
+ const __vue_inject_styles__$5f = undefined;
/* scoped */
- const __vue_scope_id__$5l = undefined;
+ const __vue_scope_id__$5f = undefined;
/* module identifier */
- const __vue_module_identifier__$5l = undefined;
+ const __vue_module_identifier__$5f = undefined;
/* functional template */
- const __vue_is_functional_template__$5l = false;
+ const __vue_is_functional_template__$5f = false;
/* style inject */
/* style inject SSR */
@@ -61035,13 +61282,13 @@ __vue_render__$5l._withStripped = true;
- const __vue_component__$5l = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5l, staticRenderFns: __vue_staticRenderFns__$5l },
- __vue_inject_styles__$5l,
- __vue_script__$5l,
- __vue_scope_id__$5l,
- __vue_is_functional_template__$5l,
- __vue_module_identifier__$5l,
+ const __vue_component__$5f = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5f, staticRenderFns: __vue_staticRenderFns__$5f },
+ __vue_inject_styles__$5f,
+ __vue_script__$5f,
+ __vue_scope_id__$5f,
+ __vue_is_functional_template__$5f,
+ __vue_module_identifier__$5f,
false,
undefined,
undefined,
@@ -61055,7 +61302,7 @@ var pauseIcon2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAABxCAYAAADi
var recordIcon = "a6071719aecd4e53.png";
//
-var script$5k = {
+var script$5e = {
name: 'AudioPlay',
props: {
//模式:preview 预览 (默认),editor 编辑
@@ -61173,11 +61420,11 @@ var script$5k = {
},
data() {
return {
- playIcon: playIcon$5,
+ playIcon: playIcon$4,
playIcon2,
- pauseIcon: pauseIcon$4,
+ pauseIcon: pauseIcon$3,
pauseIcon2,
- audioIcon: audioIcon$3,
+ audioIcon: audioIcon$2,
coverLocal: coverLocal$2,
recordIcon,
isPlay: false,
@@ -61299,20 +61546,21 @@ var script$5k = {
};
/* script */
-const __vue_script__$5k = script$5k;
-
+const __vue_script__$5e = script$5e;
/* template */
-var __vue_render__$5k = function () {
+var __vue_render__$5e = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c("div", { class: ["xml-audio-player", _vm.mode] }, [
- _c("div", { staticClass: "play-mode-wrap" }, [
- _c("img", {
- staticClass: "play-control-image",
- attrs: { src: _vm.playModeIconSrc },
- }),
- ]),
+ _vm.styleMode == "A" || _vm.styleMode == "B" || _vm.styleMode == "C"
+ ? _c("div", { staticClass: "play-mode-wrap" }, [
+ _c("img", {
+ staticClass: "play-control-image",
+ attrs: { src: _vm.playModeIconSrc },
+ }),
+ ])
+ : _vm._e(),
_vm._v(" "),
_vm.styleMode == "A" || _vm.styleMode == "B" || _vm.styleMode == "C"
? _c("div", { staticStyle: { width: "100%", display: "flex" } }, [
@@ -61444,85 +61692,100 @@ var __vue_render__$5k = function () {
]),
]),
])
- : _c("div", { staticClass: "audio-play-box" }, [
- _c(
- "div",
- { staticClass: "audio-cover" },
- [
- _c("div", { staticClass: "video-pause-btn" }, [
- _c(
- "div",
- { staticClass: "audio-controls__play-button-wrapper" },
- [
- _c("div", { staticClass: "play-button" }, [
- _c("img", {
- staticClass: "button-image",
- attrs: {
- src: _vm.isPlay ? _vm.pauseIcon2 : _vm.playIcon2,
- },
- on: {
- click: function ($event) {
- $event.stopPropagation();
- return _vm.play.apply(null, arguments)
- },
- },
- }),
- ]),
- ]
- ),
- ]),
- _vm._v(" "),
- _c("el-image", {
- staticClass: "xml-round-6",
- attrs: { src: _vm.recordIcon, alt: "" },
- }),
- ],
- 1
- ),
+ : _vm.styleMode == "E"
+ ? _c("div", [
+ _c("div", { staticClass: "styleModeE_title" }, [_vm._v("听音")]),
_vm._v(" "),
- _c("div", { staticClass: "audio-player-control" }, [
+ _c("div", { staticClass: "styleModeE_row" }, [
+ _c("div", [
+ _vm.isPlay
+ ? _c("i", {
+ staticClass: "el-icon-video-pause",
+ staticStyle: { "font-size": "28px" },
+ })
+ : _c("i", {
+ staticClass: "el-icon-caret-right",
+ staticStyle: { "font-size": "28px" },
+ }),
+ ]),
+ _vm._v(" "),
+ _c(
+ "div",
+ { staticClass: "styleModeE_progress" },
+ [
+ _c("el-slider", {
+ attrs: {
+ max: _vm.totalDuration,
+ disabled: _vm.scheduleControl !== "yes",
+ "show-tooltip": false,
+ },
+ on: { change: _vm.changeTime },
+ model: {
+ value: _vm.playTime,
+ callback: function ($$v) {
+ _vm.playTime = $$v;
+ },
+ expression: "playTime",
+ },
+ }),
+ ],
+ 1
+ ),
+ _vm._v(" "),
_c(
"div",
{
- class: [
- "audio-player-title",
- _vm.mode == "preview" && _vm.title.length >= 16
- ? "preview"
- : "",
- ],
+ staticStyle: {
+ display: "flex",
+ "flex-direction": "row",
+ "align-items": "center",
+ },
},
[
- _c(
- "div",
- {
- staticClass: "xml-audio-title scroll-text",
- style:
- _vm.mode == "preview" && _vm.title.length >= 16
- ? {
- animation:
- "fadeNum " +
- _vm.title.length / 3 +
- "s linear infinite backwards",
- }
- : "",
- },
- [_vm._v("\n " + _vm._s(_vm.title) + "\n ")]
- ),
+ _c("div", [
+ _vm._v(
+ _vm._s(_vm.playCurrentTime) +
+ "/ " +
+ _vm._s(_vm.playDuration)
+ ),
+ ]),
+ _vm._v(" "),
+ _c("i", {
+ staticClass: "el-icon-s-tools",
+ staticStyle: { "font-size": "18px", "margin-left": "15px" },
+ }),
]
),
+ ]),
+ ])
+ : _vm.styleMode == "D"
+ ? _c("div", [
+ _c("div", { staticClass: "styleModeF_row" }, [
+ _vm._m(0),
_vm._v(" "),
- _c("div", { staticClass: "audio-controls" }, [
- _c("div", { staticClass: "audio-controls__handler" }, [
+ _c("div", { staticStyle: { "margin-left": "20px" } }, [
+ _c("div", { staticClass: "styleModeF_row" }, [
+ _c("div", [
+ _vm.isPlay
+ ? _c("i", {
+ staticClass: "el-icon-video-pause",
+ staticStyle: { "font-size": "28px" },
+ })
+ : _c("i", {
+ staticClass: "el-icon-caret-right",
+ staticStyle: { "font-size": "28px" },
+ }),
+ ]),
+ _vm._v(" "),
_c(
"div",
- { staticClass: "progress" },
+ { staticClass: "styleModeF_progress" },
[
_c("el-slider", {
attrs: {
max: _vm.totalDuration,
disabled: _vm.scheduleControl !== "yes",
"show-tooltip": false,
- "tooltip-class": "silder-bg",
},
on: { change: _vm.changeTime },
model: {
@@ -61537,19 +61800,46 @@ var __vue_render__$5k = function () {
1
),
_vm._v(" "),
- _c("div", { staticClass: "play-times" }, [
- _c("div", { staticClass: "current-time" }, [
- _vm._v(_vm._s(_vm.playCurrentTime)),
- ]),
- _vm._v(" "),
- _c("div", { staticClass: "total-time" }, [
- _vm._v(_vm._s(_vm.playDuration)),
- ]),
- ]),
+ _c(
+ "div",
+ {
+ staticStyle: {
+ display: "flex",
+ "flex-direction": "row",
+ "align-items": "center",
+ },
+ },
+ [
+ _c("div", [
+ _vm._v(
+ _vm._s(_vm.playCurrentTime) +
+ " / " +
+ _vm._s(_vm.playDuration)
+ ),
+ ]),
+ _vm._v(" "),
+ _c("i", {
+ staticClass: "el-icon-s-tools",
+ staticStyle: {
+ "font-size": "18px",
+ "margin-left": "15px",
+ },
+ }),
+ ]
+ ),
+ ]),
+ _vm._v(" "),
+ _c("div", { staticClass: "styleModeF_title" }, [
+ _vm._v("\n 当前倍速:X1\n "),
+ ]),
+ _vm._v(" "),
+ _c("div", { staticClass: "styleModeF_title" }, [
+ _vm._v("\n 听音\n "),
]),
]),
]),
- ]),
+ ])
+ : _vm._e(),
_vm._v(" "),
_c("audio", {
ref: "musicAudio",
@@ -61572,17 +61862,28 @@ var __vue_render__$5k = function () {
}),
])
};
-var __vue_staticRenderFns__$5k = [];
-__vue_render__$5k._withStripped = true;
+var __vue_staticRenderFns__$5e = [
+ function () {
+ var _vm = this;
+ var _h = _vm.$createElement;
+ var _c = _vm._self._c || _h;
+ return _c("div", { staticStyle: { position: "relative" } }, [
+ _c("div", { staticClass: "styleModeF_IMG" }),
+ _vm._v(" "),
+ _c("i", { staticClass: "el-icon-video-play styleModeF_I" }),
+ ])
+ },
+];
+__vue_render__$5e._withStripped = true;
/* style */
- const __vue_inject_styles__$5k = undefined;
+ const __vue_inject_styles__$5e = undefined;
/* scoped */
- const __vue_scope_id__$5k = undefined;
+ const __vue_scope_id__$5e = undefined;
/* module identifier */
- const __vue_module_identifier__$5k = undefined;
+ const __vue_module_identifier__$5e = undefined;
/* functional template */
- const __vue_is_functional_template__$5k = false;
+ const __vue_is_functional_template__$5e = false;
/* style inject */
/* style inject SSR */
@@ -61591,49 +61892,49 @@ __vue_render__$5k._withStripped = true;
- const __vue_component__$5k = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5k, staticRenderFns: __vue_staticRenderFns__$5k },
- __vue_inject_styles__$5k,
- __vue_script__$5k,
- __vue_scope_id__$5k,
- __vue_is_functional_template__$5k,
- __vue_module_identifier__$5k,
+ const __vue_component__$5e = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5e, staticRenderFns: __vue_staticRenderFns__$5e },
+ __vue_inject_styles__$5e,
+ __vue_script__$5e,
+ __vue_scope_id__$5e,
+ __vue_is_functional_template__$5e,
+ __vue_module_identifier__$5e,
false,
undefined,
undefined,
undefined
);
-const MusicComponents = [__vue_component__$5l, __vue_component__$5k];
+const MusicComponents = [__vue_component__$5f, __vue_component__$5e];
var XmlMusic = {
...MusicComponents
};
-const radioType$1 = ['1', '4'];
-const checkType$1 = ['2', '5'];
-const showOptionsType$1 = ['1', '2', '4', '5'];
-const showJudgeAnswerType$1 = ['3'];
-const showSortType$1 = ['7'];
-const showRichTextAnswerType$1 = ['10', '13'];
-const isclozeType$1 = ['10', '11', '12'];
-const isRadio$1 = type => {
- return radioType$1.includes(type);
+const radioType = ['SingleSelect'];
+const checkType = ['MultipleSelect'];
+const showOptionsType = ['1', '2', '4', '5'];
+const showJudgeAnswerType = ['Judgement'];
+const showSortType = ['7'];
+const showRichTextAnswerType = ['Filling', 'AskAnswer'];
+const isclozeType = ['Filling'];
+const isRadio = type => {
+ return radioType.includes(type);
};
-const isCheck$1 = type => checkType$1.includes(type);
-const showOptions$1 = type => showOptionsType$1.includes(type);
-const showJudgeAnswer$1 = type => showJudgeAnswerType$1.includes(type);
-const showSort$1 = type => showSortType$1.includes(type);
-const showRichTextAnswer$1 = type => showRichTextAnswerType$1.includes(type);
-const isCloze$1 = type => isclozeType$1.includes(type);
+const isCheck = type => checkType.includes(type);
+const showOptions = type => showOptionsType.includes(type);
+const showJudgeAnswer = type => showJudgeAnswerType.includes(type);
+const showSort = type => showSortType.includes(type);
+const showRichTextAnswer = type => showRichTextAnswerType.includes(type);
+const isCloze = type => isclozeType.includes(type);
-var playIcon$4 = "data:image/png;base64,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";
+var playIcon$3 = "data:image/png;base64,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";
-var pauseIcon$3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAACvBJREFUeF7tnW2MHVUZx//PbHaTtiGQ9IOagCE1pnywInwQElstqUCB1iABPrb2bZ7ZYGo0UWkgiKGm1UQTFbNzbtwV9yOEVC2lLa8l+KFtImDBlCaFGCQYTCRW0y7srvOYczNX9uW+zMuZuTP3PpPc7LZ7znPO839+c2bumWfOIQzgMTU1tWZ2dvYaIloLYG38c6WIND9EtALAyvhjFbhERBftTxFpfjzP+0BEznqed3Z+fv7N0dHRs7t37/5g0OSiujs0PT29amZmZiOArQC+ZAMOYLQgv94norMi8oLneSdmZmZO792796OC2irFbC0BCMPwWiL6CoCb4sCPlKLW8kY+BPA8gFNRFJ0eHx8/3qd+ZG62NgAYY24AsBnAbQDs71U8zovIUc/zjvq+f7SKHVzap0oDUJOgd4pzLWCoJACNRmOLiPjx8F6HE6lXH48BmGLmJ3oVLPvvlQJgAAO/NJ4vichUEATTZQe6U3uVAGAIAr9IfyI6HUVRGATBb/oNQl8BmJiYuNrzvH0A7HA/jMeTnucd2LNnz5/65XzfADDG3AfgfgBX9sv5KrQrIjNEdADAQWaeK7tPpQNgjFkvIvuI6Payna1ye0R0Moqig0EQ/L7MfpYKgDHmAQD7y3Swhm09zMw/LKvfpQBgZ+48z9svIlvKcqzO7YjIISL6LjO/VbQfhQMQhmFARPasX120MwNm/y0Lge/7h4r0q1AAjDGPAdhepANDYLvQS0JhADQajWdE5OYhCFDhLorIZBAEu4toqBAAjDGvALiuiA4Pq00ROR4EgX0Y5vRwDkAYhu8Q0VVOe6nGWgr8hZk/51IOpwAYY2xWjc200aMgBUTk30EQXO7KvDMAjDH/AuCsY64cHFA7/2DmT7jwzQkAxpgzANa56JDaSKYAEb3g+/6mZKU7l8oNgDHmKQB35O2I1k+vgIj8MgiCvelrflwjFwDGmMcB3JOnA1o3twI/YebvZ7WSGQCd5MkqeSH1Mk8WZQIgnt6dKMQVNZpJASK6K8u0cWoA4pRsmwqtc/uZQlVYJfvg6Na0D5BSA9BoNA7rU73CgpjLsH2KGATBXWmMpAJAn+enkbZvZVPdDyQGwGbyAHi5b25pw4kVEJE7k2YWJQYgDMMjmsaVOAZ9LWjTy0Tky0lyDBMBECdwPtpXr7TxtAo8xMyP9KrUE4A4ddsO/UOdvdtLyKr93WYbj4yMbOiVct4TAGOMGeK8/arFNW1/nmTmu7tV6gpA/MbO4bStavnqKCAiO7u9gdQVAGPMHwboBc3qRKXEntjX0Hzf7/g6fUcA9OwvMUoFNyUi2zu9kNoRgCqf/UR0QkROJNDt4QRlkhTpaYeINoqIXaqmisdLzNy2b20BqPrZbwHwfd8uD9PxmJiY2Oh53osuohFF0U3j4+NdgWs0Gi9WGAArw73t1idoC0CVz37riQKQCetjzGyX11l0LAMgXpblZKYmSqqkAGQT2s7kLl27qB0APwDQ85qXrQtuaikA2XRsl0LWDgB79ld1Fa6m5wpANgAAnGfmzy6svQiAOgz/CkDm4LdOnkWXgaUAVH74VwDyAbD0MrAUgMoP/wpAPgCWXgb+D4Ax5noAfVusKI1beg+QRq3lZYlos+/7zWVtFwLwPQA/zme6nNoKQG6dH2Hmh5YCYIm4JbfpEgwoAPlEtqudB0HQfK2sOQJMTk5eNj8/b1/u9PKZLqe2ApBb54/Gxsau2LFjx4dNAMIwvJuIKreObSc3FYDcAEBEbgmC4NkWAL8mol35zZZjQQFwonPzPqAJgDHmdQBOV55w0sUORhSA/Oq2NGwBMFvgNiv5e7vEggLgRNL3mfmTZDdYmpubK3xBQiddjo0oAG7UHBkZWU1hGN5OREfcmCzHigLgRucoitaTMebbAH7mxmQ5VhQANzp7nrfbAhACYDcmy7GiADjT+adUg1y2Zd4qAG4AIKKnLQCnROSLbkyWY0UBcKOziJy0l4BazQFY1xUANwAAOGO/Bdhlydc4M1mCIQXAjchEdN6OAO8B+JQbk+VYUQDc6ExE71kAarfEqwLgBgAAFywAtZoG1nsAZ8G3huYUgAR6DsirYe08bQKgl4AeEAwwAM1LgN4EDi8Af9evgUN8CRCRt3UiaIgBAPCGTgUPMQB2+Rh9GDTcAJzQx8FDDIBNB9WEkOEG4DuaEjbEAIjIHZoUOsQAjI6OfkbTwocXgDlmHtMXQ4YXgDeYeV0LgFolhurj4ATU9i5imDloAWA3frQbQNbiUACchGkLMx9pAjA9Pb1qZmbmAoARJ6YLNqIA5Bb4vytWrLh827ZtFxeuEHIIwJ25TZdgQAHILfLvmPnrzeSaliljjN2D9ue5TZdgQAHILfK3mPkXiwCIN4R8LbfpEgwoAPlEFpEvBEHw50UA2H8YY3SZuDbaDlhG0ClmvrHlpi4UmeBkGjAAFm0sqUvFDh8ANzLzqbYjQF0uA3oPkIDa9kUWDf/L7gFiACq/XrACkBmAZfsK64YRCbQcoHuARcN/2xEgHgUqvV2cjgAJqF1e5DAzf23pf+umUQm0HIQRgIi2+r6/7HmPbhuXAIAkW+hUfNu4tmd/x0uA/UPVt45LFjct1Qxyh7O/KwB1uBfQ8CZSoOPZ3xMAHQUSCVzpQt3O/p4AxKOAbh9f6RB37VyDmbsuAdh193BremJi4mrP814GcGV9dRjKnr8bRdGG8fHxv3bzvicA8ShwH4BHh1LG+jr9TWb+Va/uJwLAGgnD8IjderSXQf17/xUQkaeDILB5nj2PxAAYY9YDsJcCPaqvwAZm/mOSbiYGIL4UPABgfxLDWqZvCjzIzD9K2noqAKzRRqNxWES2JG1Ay5WnABE95fv+1jQtpgYgzh18HsDqNA1p2cIV+KeIbGrl+iVtLTUA8Q1hQEQTSRvRcsUrICLjQRDYN7xSHZkAiO8HHgOwPVVrWrgoBX7LzN/IYjwzAPH9wDMicnOWhrWOGwWI6Fnf9zPv+JoLgHgkeAXAdW7cUSspFXiVme2m35mP3ADE9wTvENFVmXuhFVMrICJ/C4Lg06krLqngBIB4JLgIYGXeDmn9RApcYuZViUr2KOQMgBiC2q077ELEkm1cYOYrXLXpFIAYgjMA1rnqoNpZpMDrzPx5l5o4ByCGwCYfJnoY4dKZAbd1hJmdz8AWAkAMweMA7hnwoJTl3hPMfG8RjRUGQAyBThblj1rmSZ4kTRcKQPwV0U4b2yeI+uwgSUQ+LmPn9h/MMr2bppnCAYghuNbzvP36FDFZaOxTvSiKbPCbizgUeZQCQMsBY4zmE/SOZqrn+b3NdS9RKgDxfcF6Edmn6WWLA2PTuIjoQNJMnryBb9UvHYAFo4FNNL1fs43xLoCDSRI4XQV9oZ2+AWA7Eaec7wPgF+FcDWw2oig60Ct1u0g/+gpAy7H4DSQLQap0piKFKdj2YSJqtHtbt+B2l5mvBABDBEJlAt/3e4BupA/giFC5wFcagAU3ijcA2AzgNgD29zoddiWuowCOLVyVq2oOVOoS0E0cY0wdYKhF0CvzLSDr2WCMsWlQXwWwKf7pZbWVs14E4DkANk3+OWa26XG1OmozAnRSdXJy8rK5ublb7aWCiOwosRbAaEFRmANwTkTsmX5sdHT0+K5du/5TUFulmK09AO1UmpqaWjM7O3sNEVkY1sY/V4pI80NEK+L0tVYK2yUAl0Rkhogu2U/873NxwM+NjY29uXPnzrdLiUqJjfwPv88HKuMCFxkAAAAASUVORK5CYII=";
+var pauseIcon$2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAACvBJREFUeF7tnW2MHVUZx//PbHaTtiGQ9IOagCE1pnywInwQElstqUCB1iABPrb2bZ7ZYGo0UWkgiKGm1UQTFbNzbtwV9yOEVC2lLa8l+KFtImDBlCaFGCQYTCRW0y7srvOYczNX9uW+zMuZuTP3PpPc7LZ7znPO839+c2bumWfOIQzgMTU1tWZ2dvYaIloLYG38c6WIND9EtALAyvhjFbhERBftTxFpfjzP+0BEznqed3Z+fv7N0dHRs7t37/5g0OSiujs0PT29amZmZiOArQC+ZAMOYLQgv94norMi8oLneSdmZmZO792796OC2irFbC0BCMPwWiL6CoCb4sCPlKLW8kY+BPA8gFNRFJ0eHx8/3qd+ZG62NgAYY24AsBnAbQDs71U8zovIUc/zjvq+f7SKHVzap0oDUJOgd4pzLWCoJACNRmOLiPjx8F6HE6lXH48BmGLmJ3oVLPvvlQJgAAO/NJ4vichUEATTZQe6U3uVAGAIAr9IfyI6HUVRGATBb/oNQl8BmJiYuNrzvH0A7HA/jMeTnucd2LNnz5/65XzfADDG3AfgfgBX9sv5KrQrIjNEdADAQWaeK7tPpQNgjFkvIvuI6Payna1ye0R0Moqig0EQ/L7MfpYKgDHmAQD7y3Swhm09zMw/LKvfpQBgZ+48z9svIlvKcqzO7YjIISL6LjO/VbQfhQMQhmFARPasX120MwNm/y0Lge/7h4r0q1AAjDGPAdhepANDYLvQS0JhADQajWdE5OYhCFDhLorIZBAEu4toqBAAjDGvALiuiA4Pq00ROR4EgX0Y5vRwDkAYhu8Q0VVOe6nGWgr8hZk/51IOpwAYY2xWjc200aMgBUTk30EQXO7KvDMAjDH/AuCsY64cHFA7/2DmT7jwzQkAxpgzANa56JDaSKYAEb3g+/6mZKU7l8oNgDHmKQB35O2I1k+vgIj8MgiCvelrflwjFwDGmMcB3JOnA1o3twI/YebvZ7WSGQCd5MkqeSH1Mk8WZQIgnt6dKMQVNZpJASK6K8u0cWoA4pRsmwqtc/uZQlVYJfvg6Na0D5BSA9BoNA7rU73CgpjLsH2KGATBXWmMpAJAn+enkbZvZVPdDyQGwGbyAHi5b25pw4kVEJE7k2YWJQYgDMMjmsaVOAZ9LWjTy0Tky0lyDBMBECdwPtpXr7TxtAo8xMyP9KrUE4A4ddsO/UOdvdtLyKr93WYbj4yMbOiVct4TAGOMGeK8/arFNW1/nmTmu7tV6gpA/MbO4bStavnqKCAiO7u9gdQVAGPMHwboBc3qRKXEntjX0Hzf7/g6fUcA9OwvMUoFNyUi2zu9kNoRgCqf/UR0QkROJNDt4QRlkhTpaYeINoqIXaqmisdLzNy2b20BqPrZbwHwfd8uD9PxmJiY2Oh53osuohFF0U3j4+NdgWs0Gi9WGAArw73t1idoC0CVz37riQKQCetjzGyX11l0LAMgXpblZKYmSqqkAGQT2s7kLl27qB0APwDQ85qXrQtuaikA2XRsl0LWDgB79ld1Fa6m5wpANgAAnGfmzy6svQiAOgz/CkDm4LdOnkWXgaUAVH74VwDyAbD0MrAUgMoP/wpAPgCWXgb+D4Ax5noAfVusKI1beg+QRq3lZYlos+/7zWVtFwLwPQA/zme6nNoKQG6dH2Hmh5YCYIm4JbfpEgwoAPlEtqudB0HQfK2sOQJMTk5eNj8/b1/u9PKZLqe2ApBb54/Gxsau2LFjx4dNAMIwvJuIKreObSc3FYDcAEBEbgmC4NkWAL8mol35zZZjQQFwonPzPqAJgDHmdQBOV55w0sUORhSA/Oq2NGwBMFvgNiv5e7vEggLgRNL3mfmTZDdYmpubK3xBQiddjo0oAG7UHBkZWU1hGN5OREfcmCzHigLgRucoitaTMebbAH7mxmQ5VhQANzp7nrfbAhACYDcmy7GiADjT+adUg1y2Zd4qAG4AIKKnLQCnROSLbkyWY0UBcKOziJy0l4BazQFY1xUANwAAOGO/Bdhlydc4M1mCIQXAjchEdN6OAO8B+JQbk+VYUQDc6ExE71kAarfEqwLgBgAAFywAtZoG1nsAZ8G3huYUgAR6DsirYe08bQKgl4AeEAwwAM1LgN4EDi8Af9evgUN8CRCRt3UiaIgBAPCGTgUPMQB2+Rh9GDTcAJzQx8FDDIBNB9WEkOEG4DuaEjbEAIjIHZoUOsQAjI6OfkbTwocXgDlmHtMXQ4YXgDeYeV0LgFolhurj4ATU9i5imDloAWA3frQbQNbiUACchGkLMx9pAjA9Pb1qZmbmAoARJ6YLNqIA5Bb4vytWrLh827ZtFxeuEHIIwJ25TZdgQAHILfLvmPnrzeSaliljjN2D9ue5TZdgQAHILfK3mPkXiwCIN4R8LbfpEgwoAPlEFpEvBEHw50UA2H8YY3SZuDbaDlhG0ClmvrHlpi4UmeBkGjAAFm0sqUvFDh8ANzLzqbYjQF0uA3oPkIDa9kUWDf/L7gFiACq/XrACkBmAZfsK64YRCbQcoHuARcN/2xEgHgUqvV2cjgAJqF1e5DAzf23pf+umUQm0HIQRgIi2+r6/7HmPbhuXAIAkW+hUfNu4tmd/x0uA/UPVt45LFjct1Qxyh7O/KwB1uBfQ8CZSoOPZ3xMAHQUSCVzpQt3O/p4AxKOAbh9f6RB37VyDmbsuAdh193BremJi4mrP814GcGV9dRjKnr8bRdGG8fHxv3bzvicA8ShwH4BHh1LG+jr9TWb+Va/uJwLAGgnD8IjderSXQf17/xUQkaeDILB5nj2PxAAYY9YDsJcCPaqvwAZm/mOSbiYGIL4UPABgfxLDWqZvCjzIzD9K2noqAKzRRqNxWES2JG1Ay5WnABE95fv+1jQtpgYgzh18HsDqNA1p2cIV+KeIbGrl+iVtLTUA8Q1hQEQTSRvRcsUrICLjQRDYN7xSHZkAiO8HHgOwPVVrWrgoBX7LzN/IYjwzAPH9wDMicnOWhrWOGwWI6Fnf9zPv+JoLgHgkeAXAdW7cUSspFXiVme2m35mP3ADE9wTvENFVmXuhFVMrICJ/C4Lg06krLqngBIB4JLgIYGXeDmn9RApcYuZViUr2KOQMgBiC2q077ELEkm1cYOYrXLXpFIAYgjMA1rnqoNpZpMDrzPx5l5o4ByCGwCYfJnoY4dKZAbd1hJmdz8AWAkAMweMA7hnwoJTl3hPMfG8RjRUGQAyBThblj1rmSZ4kTRcKQPwV0U4b2yeI+uwgSUQ+LmPn9h/MMr2bppnCAYghuNbzvP36FDFZaOxTvSiKbPCbizgUeZQCQMsBY4zmE/SOZqrn+b3NdS9RKgDxfcF6Edmn6WWLA2PTuIjoQNJMnryBb9UvHYAFo4FNNL1fs43xLoCDSRI4XQV9oZ2+AWA7Eaec7wPgF+FcDWw2oig60Ct1u0g/+gpAy7H4DSQLQap0piKFKdj2YSJqtHtbt+B2l5mvBABDBEJlAt/3e4BupA/giFC5wFcagAU3ijcA2AzgNgD29zoddiWuowCOLVyVq2oOVOoS0E0cY0wdYKhF0CvzLSDr2WCMsWlQXwWwKf7pZbWVs14E4DkANk3+OWa26XG1OmozAnRSdXJy8rK5ublb7aWCiOwosRbAaEFRmANwTkTsmX5sdHT0+K5du/5TUFulmK09AO1UmpqaWjM7O3sNEVkY1sY/V4pI80NEK+L0tVYK2yUAl0Rkhogu2U/873NxwM+NjY29uXPnzrdLiUqJjfwPv88HKuMCFxkAAAAASUVORK5CYII=";
-var audioIcon$2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAzxJREFUWEftmE1rU1EQhp+5N2msQVCogtWCC0EwG4OCG3+ClGpxobhQ8GMjKFjbFBfWVBQpght3LvzoxoVYwT8gLkQQNyKKigEXpXXhB9LEmOSMTK7R1sTkRpOmggMhJ+TcmefOmXPeuVeYZzo6uhPnDgIJRLrn/9eG8WfgCdHoFRkff1TxLzbQoaE4kchNYFcbAtd36XmObDYtly+ftYkBUCp1F+hfdJhKQFXw/SE5f/6S6PDwAJ53p2MwP6FyqG4UHRm5jcjujgOVl0pPiKZSL4BNSwIIbhjQW6BviQDdaj2QFahZqQSFghUrdHWFvd8WADkXBDZbtgxWrYLeXujrC77fvYOpqQCssf0BUD4PkQgsXw5r1sC6dUFwG69eDbFYVVg9dw6Zm2uMA00C2V3u2RMArFwJnhcmCDo+jmSzYeY2AeQcum0bYkBN2pIAcrlcWQaku3txM6SquOlp3OwsxUwGMhl0ZgZvdpaukyfxtmxpP1Dh6VOKjx/jMhm8Dx/w8nk8Efx4HM92mghYER8+DIlE+4Hc1avIy5dINGrHffD51ayIjxxZHCAmJ+HZs/ql/R/on8mQSUmlrg4c6HANmaAmEtDfH2ia/fb9Nuyy7/qlySSydy81i9qyEo/DyEiVurf2pDYRHRiADRvQfB7p6akNVEdaNJ1GcrkwgtNAy6ytOHasDLPAam17VUpr1+IfP75gqrMDMp3GCyfEdYBsCVasQE+fDh5N5plOTiI1dpn78oXi4CBdO3aUZ2upRP76dWLPnyPWsjS2+hlyIsjYGDKv47MzWScm8N6/r3YvQuHjRwq9veWl1TdviBUK+CYn4aw+kBaLfE0mie3b98Pd1/v3iUxNBZr1OxMpZ0esf6olK7+/snE/VJqbI9/Tg5dM4l69Ivr6NVFrzpoLFC4/zXSMznZYLFZVT2EjhZzXOEMhHbVqWhnIZHtzqzz+lR/VawZkbz32/5WjVl3s3CHR0dHtOPcQsTavg6Y6Qza7qfI6ZgzVM+XWszNWpFTaJRMT934QaCp1CjgDxBeNyY4OkWlEjsqFC/cs7oKU6PDwekQGEdmKc9WPoK0i9X1FJIdzD1C9LRcvfqq4/gYOF90Ot1xnCQAAAABJRU5ErkJggg==";
+var audioIcon$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAzxJREFUWEftmE1rU1EQhp+5N2msQVCogtWCC0EwG4OCG3+ClGpxobhQ8GMjKFjbFBfWVBQpght3LvzoxoVYwT8gLkQQNyKKigEXpXXhB9LEmOSMTK7R1sTkRpOmggMhJ+TcmefOmXPeuVeYZzo6uhPnDgIJRLrn/9eG8WfgCdHoFRkff1TxLzbQoaE4kchNYFcbAtd36XmObDYtly+ftYkBUCp1F+hfdJhKQFXw/SE5f/6S6PDwAJ53p2MwP6FyqG4UHRm5jcjujgOVl0pPiKZSL4BNSwIIbhjQW6BviQDdaj2QFahZqQSFghUrdHWFvd8WADkXBDZbtgxWrYLeXujrC77fvYOpqQCssf0BUD4PkQgsXw5r1sC6dUFwG69eDbFYVVg9dw6Zm2uMA00C2V3u2RMArFwJnhcmCDo+jmSzYeY2AeQcum0bYkBN2pIAcrlcWQaku3txM6SquOlp3OwsxUwGMhl0ZgZvdpaukyfxtmxpP1Dh6VOKjx/jMhm8Dx/w8nk8Efx4HM92mghYER8+DIlE+4Hc1avIy5dINGrHffD51ayIjxxZHCAmJ+HZs/ql/R/on8mQSUmlrg4c6HANmaAmEtDfH2ia/fb9Nuyy7/qlySSydy81i9qyEo/DyEiVurf2pDYRHRiADRvQfB7p6akNVEdaNJ1GcrkwgtNAy6ytOHasDLPAam17VUpr1+IfP75gqrMDMp3GCyfEdYBsCVasQE+fDh5N5plOTiI1dpn78oXi4CBdO3aUZ2upRP76dWLPnyPWsjS2+hlyIsjYGDKv47MzWScm8N6/r3YvQuHjRwq9veWl1TdviBUK+CYn4aw+kBaLfE0mie3b98Pd1/v3iUxNBZr1OxMpZ0esf6olK7+/snE/VJqbI9/Tg5dM4l69Ivr6NVFrzpoLFC4/zXSMznZYLFZVT2EjhZzXOEMhHbVqWhnIZHtzqzz+lR/VawZkbz32/5WjVl3s3CHR0dHtOPcQsTavg6Y6Qza7qfI6ZgzVM+XWszNWpFTaJRMT934QaCp1CjgDxBeNyY4OkWlEjsqFC/cs7oKU6PDwekQGEdmKc9WPoK0i9X1FJIdzD1C9LRcvfqq4/gYOF90Ot1xnCQAAAABJRU5ErkJggg==";
//
-var script$5j = {
+var script$5d = {
name: 'audio-play',
props: {
url: {
@@ -61656,9 +61957,9 @@ var script$5j = {
},
data() {
return {
- playIcon: playIcon$4,
- pauseIcon: pauseIcon$3,
- audioIcon: audioIcon$2,
+ playIcon: playIcon$3,
+ pauseIcon: pauseIcon$2,
+ audioIcon: audioIcon$1,
isPlay: false,
playTime: 0,
playDuration: '00:00',
@@ -61715,9 +62016,9 @@ var script$5j = {
};
/* script */
-const __vue_script__$5j = script$5j;
+const __vue_script__$5d = script$5d;
/* template */
-var __vue_render__$5j = function () {
+var __vue_render__$5d = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -61911,17 +62212,17 @@ var __vue_render__$5j = function () {
}),
])
};
-var __vue_staticRenderFns__$5j = [];
-__vue_render__$5j._withStripped = true;
+var __vue_staticRenderFns__$5d = [];
+__vue_render__$5d._withStripped = true;
/* style */
- const __vue_inject_styles__$5j = undefined;
+ const __vue_inject_styles__$5d = undefined;
/* scoped */
- const __vue_scope_id__$5j = "data-v-160e520c";
+ const __vue_scope_id__$5d = "data-v-525a170e";
/* module identifier */
- const __vue_module_identifier__$5j = undefined;
+ const __vue_module_identifier__$5d = undefined;
/* functional template */
- const __vue_is_functional_template__$5j = false;
+ const __vue_is_functional_template__$5d = false;
/* style inject */
/* style inject SSR */
@@ -61930,20 +62231,20 @@ __vue_render__$5j._withStripped = true;
- const __vue_component__$5j = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5j, staticRenderFns: __vue_staticRenderFns__$5j },
- __vue_inject_styles__$5j,
- __vue_script__$5j,
- __vue_scope_id__$5j,
- __vue_is_functional_template__$5j,
- __vue_module_identifier__$5j,
+ const __vue_component__$5d = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5d, staticRenderFns: __vue_staticRenderFns__$5d },
+ __vue_inject_styles__$5d,
+ __vue_script__$5d,
+ __vue_scope_id__$5d,
+ __vue_is_functional_template__$5d,
+ __vue_module_identifier__$5d,
false,
undefined,
undefined,
undefined
);
-var videoIcon$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAaRJREFUSEu91surTXEUwPHP8iiSyAQTpRRTUkqu3CHFkETdy8BcKFNGir/AwKM8YuRRjOTGnfEHGJgwwUQMjDyWftr7dhxn733O0blruNfju9dvPX6/0CKZuQYHcQBbsL4y/4S3eILHEfG1KUwMUmTmOpzHKRRIm5TgV3EpIj73G/4DyMy9uIcNHYH71R9xJCJe9Cr+AmTmMdzE0hGD1+Y/MRMRt+sPC4DM3IPnWDZm8NrtB6YjYr58+APIzLV401PE/2QoTbAtIr7UgMs42xC1pP0AO7B5BPKViDgXmbkaH7CqwXk+IqYys+gv4nSdeQfsGzYWwCyutxjPRcR0rc/M3VUjlLnokhMFcAdHhwVUNVuJCziDJS2+dwvgFXaOAujJZleVzdYG/9cF8A6bxgFU2azAM5Sj65f3iwKY+BFNvMgzuDFsDUZs09nJD1rVCV2r4iG2j7UqFmXZVZApzHVMZtdqKPpf2BcRLxfWdc9kHsc1LB8m0gCb7zgZEbdq3aArs2Ryf8wr83D9542A6rgmd+n3pl09Ww5hf8Oz5SketT1bfgPyir14bBOMeQAAAABJRU5ErkJggg==";
+var videoIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAaRJREFUSEu91surTXEUwPHP8iiSyAQTpRRTUkqu3CHFkETdy8BcKFNGir/AwKM8YuRRjOTGnfEHGJgwwUQMjDyWftr7dhxn733O0blruNfju9dvPX6/0CKZuQYHcQBbsL4y/4S3eILHEfG1KUwMUmTmOpzHKRRIm5TgV3EpIj73G/4DyMy9uIcNHYH71R9xJCJe9Cr+AmTmMdzE0hGD1+Y/MRMRt+sPC4DM3IPnWDZm8NrtB6YjYr58+APIzLV401PE/2QoTbAtIr7UgMs42xC1pP0AO7B5BPKViDgXmbkaH7CqwXk+IqYys+gv4nSdeQfsGzYWwCyutxjPRcR0rc/M3VUjlLnokhMFcAdHhwVUNVuJCziDJS2+dwvgFXaOAujJZleVzdYG/9cF8A6bxgFU2azAM5Sj65f3iwKY+BFNvMgzuDFsDUZs09nJD1rVCV2r4iG2j7UqFmXZVZApzHVMZtdqKPpf2BcRLxfWdc9kHsc1LB8m0gCb7zgZEbdq3aArs2Ryf8wr83D9542A6rgmd+n3pl09Ww5hf8Oz5SketT1bfgPyir14bBOMeQAAAABJRU5ErkJggg==";
var win;
if (typeof window !== "undefined") {
@@ -74909,7 +75210,7 @@ var VueVideoPlayer = unwrapExports(vueVideoPlayer);
vueVideoPlayer.VueVideoPlayer;
//
-var script$5i = {
+var script$5c = {
name: 'video-play',
components: {
videoPlayer: VueVideoPlayer.videoPlayer
@@ -74934,7 +75235,7 @@ var script$5i = {
return {
pageType: 'pc',
isShowPlay: false,
- videoIcon: videoIcon$1,
+ videoIcon,
isPlay: false,
playTime: 0,
playDuration: '00:00',
@@ -75011,9 +75312,9 @@ var script$5i = {
};
/* script */
-const __vue_script__$5i = script$5i;
+const __vue_script__$5c = script$5c;
/* template */
-var __vue_render__$5i = function () {
+var __vue_render__$5c = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -75091,17 +75392,17 @@ var __vue_render__$5i = function () {
1
)
};
-var __vue_staticRenderFns__$5i = [];
-__vue_render__$5i._withStripped = true;
+var __vue_staticRenderFns__$5c = [];
+__vue_render__$5c._withStripped = true;
/* style */
- const __vue_inject_styles__$5i = undefined;
+ const __vue_inject_styles__$5c = undefined;
/* scoped */
- const __vue_scope_id__$5i = "data-v-7cccb5ec";
+ const __vue_scope_id__$5c = "data-v-13303366";
/* module identifier */
- const __vue_module_identifier__$5i = undefined;
+ const __vue_module_identifier__$5c = undefined;
/* functional template */
- const __vue_is_functional_template__$5i = false;
+ const __vue_is_functional_template__$5c = false;
/* style inject */
/* style inject SSR */
@@ -75110,13 +75411,13 @@ __vue_render__$5i._withStripped = true;
- const __vue_component__$5i = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5i, staticRenderFns: __vue_staticRenderFns__$5i },
- __vue_inject_styles__$5i,
- __vue_script__$5i,
- __vue_scope_id__$5i,
- __vue_is_functional_template__$5i,
- __vue_module_identifier__$5i,
+ const __vue_component__$5c = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5c, staticRenderFns: __vue_staticRenderFns__$5c },
+ __vue_inject_styles__$5c,
+ __vue_script__$5c,
+ __vue_scope_id__$5c,
+ __vue_is_functional_template__$5c,
+ __vue_module_identifier__$5c,
false,
undefined,
undefined,
@@ -75124,11 +75425,11 @@ __vue_render__$5i._withStripped = true;
);
//
-var script$5h = {
+var script$5b = {
name: 'bc-file-render',
components: {
- audioPlay: __vue_component__$5j,
- videoPlay: __vue_component__$5i
+ audioPlay: __vue_component__$5d,
+ videoPlay: __vue_component__$5c
},
props: {
fileInfo: {
@@ -75178,9 +75479,9 @@ var script$5h = {
};
/* script */
-const __vue_script__$5h = script$5h;
+const __vue_script__$5b = script$5b;
/* template */
-var __vue_render__$5h = function () {
+var __vue_render__$5b = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -75304,17 +75605,17 @@ var __vue_render__$5h = function () {
1
)
};
-var __vue_staticRenderFns__$5h = [];
-__vue_render__$5h._withStripped = true;
+var __vue_staticRenderFns__$5b = [];
+__vue_render__$5b._withStripped = true;
/* style */
- const __vue_inject_styles__$5h = undefined;
+ const __vue_inject_styles__$5b = undefined;
/* scoped */
- const __vue_scope_id__$5h = "data-v-643cc5f7";
+ const __vue_scope_id__$5b = "data-v-9dadad14";
/* module identifier */
- const __vue_module_identifier__$5h = undefined;
+ const __vue_module_identifier__$5b = undefined;
/* functional template */
- const __vue_is_functional_template__$5h = false;
+ const __vue_is_functional_template__$5b = false;
/* style inject */
/* style inject SSR */
@@ -75323,13 +75624,13 @@ __vue_render__$5h._withStripped = true;
- const __vue_component__$5h = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5h, staticRenderFns: __vue_staticRenderFns__$5h },
- __vue_inject_styles__$5h,
- __vue_script__$5h,
- __vue_scope_id__$5h,
- __vue_is_functional_template__$5h,
- __vue_module_identifier__$5h,
+ const __vue_component__$5b = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5b, staticRenderFns: __vue_staticRenderFns__$5b },
+ __vue_inject_styles__$5b,
+ __vue_script__$5b,
+ __vue_scope_id__$5b,
+ __vue_is_functional_template__$5b,
+ __vue_module_identifier__$5b,
false,
undefined,
undefined,
@@ -75337,10 +75638,10 @@ __vue_render__$5h._withStripped = true;
);
//
-var script$5g = {
+var script$5a = {
name: 'BcViewCommon',
components: {
- bcFileRenderNew: __vue_component__$5h
+ bcFileRenderNew: __vue_component__$5b
},
props: {
content: {
@@ -75426,9 +75727,9 @@ var script$5g = {
};
/* script */
-const __vue_script__$5g = script$5g;
+const __vue_script__$5a = script$5a;
/* template */
-var __vue_render__$5g = function () {
+var __vue_render__$5a = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -75496,17 +75797,17 @@ var __vue_render__$5g = function () {
),
])
};
-var __vue_staticRenderFns__$5g = [];
-__vue_render__$5g._withStripped = true;
+var __vue_staticRenderFns__$5a = [];
+__vue_render__$5a._withStripped = true;
/* style */
- const __vue_inject_styles__$5g = undefined;
+ const __vue_inject_styles__$5a = undefined;
/* scoped */
- const __vue_scope_id__$5g = "data-v-55ea6f92";
+ const __vue_scope_id__$5a = "data-v-bfc32194";
/* module identifier */
- const __vue_module_identifier__$5g = undefined;
+ const __vue_module_identifier__$5a = undefined;
/* functional template */
- const __vue_is_functional_template__$5g = false;
+ const __vue_is_functional_template__$5a = false;
/* style inject */
/* style inject SSR */
@@ -75515,13 +75816,13 @@ __vue_render__$5g._withStripped = true;
- const __vue_component__$5g = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5g, staticRenderFns: __vue_staticRenderFns__$5g },
- __vue_inject_styles__$5g,
- __vue_script__$5g,
- __vue_scope_id__$5g,
- __vue_is_functional_template__$5g,
- __vue_module_identifier__$5g,
+ const __vue_component__$5a = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$5a, staticRenderFns: __vue_staticRenderFns__$5a },
+ __vue_inject_styles__$5a,
+ __vue_script__$5a,
+ __vue_scope_id__$5a,
+ __vue_is_functional_template__$5a,
+ __vue_module_identifier__$5a,
false,
undefined,
undefined,
@@ -75529,10 +75830,10 @@ __vue_render__$5g._withStripped = true;
);
//
-var script$5f = {
+var script$59 = {
name: 'bc-view-option-radio',
components: {
- BcViewCommon: __vue_component__$5g
+ BcViewCommon: __vue_component__$5a
},
props: {
option: {
@@ -75564,7 +75865,8 @@ var script$5f = {
default: 'radio'
},
standardAnswer: {
- type: Array
+ type: [String, Number],
+ default: ''
},
resourceBasisPath: {
type: String,
@@ -75580,6 +75882,7 @@ var script$5f = {
optionsList: [],
selectData: '',
isAnswer: false,
+ answerIsTrue: false,
radioJudeMap: {
A: '正确',
B: '错误'
@@ -75612,56 +75915,11 @@ var script$5f = {
},
methods: {
isActive(item) {
- return item.title === this.selectData && !this.readonly;
+ return item.number === this.selectData;
},
isTrue(item) {
- // if (this.type === 'radio') {
- // if (this.selectData) {
- // //当前等于选中
- // if (item.title === this.selectData) {
- // //等于正确答案
- // if (item.title === this.standardAnswer[0].title) {
- // return true
- // } else {
- // return false
- // }
- // } else {
- // //等于正确答案
- // if (item.title === this.standardAnswer[0].title) {
- // return true
- // } else {
- // return false
- // }
- // }
- // } else {
- // return false
- // }
- // } else {
- // if (this.selectData) {
- // //当前等于选中
- // if (item.title === this.selectData) {
- // //等于正确答案
- // if (item.content === this.standardAnswer[0]) {
- // return true
- // } else {
- // return false
- // }
- // } else {
- // //等于正确答案
- // if (item.content === this.standardAnswer[0]) {
- // return true
- // } else {
- // return false
- // }
- // }
- // } else {
- // return false
- // }
- // }
if (this.type === 'radio') {
- return this.isAnswer && this.selectData && this.selectData === item.title && this.standardAnswer.some(i => i.title === item.title);
- } else {
- return this.isAnswer && this.selectData && this.selectData === item.title && this.standardAnswer.some(i => i === item.content);
+ return this.isAnswer && item.number === this.selectData && item.isRightAnswer;
}
},
isFalse(item) {
@@ -75671,30 +75929,7 @@ var script$5f = {
if (this.type === 'radio') {
if (this.selectData) {
//当前为选中的
- if (item.title === this.selectData) {
- if (this.standardAnswer[0].title === item.title) {
- return false;
- } else {
- return true;
- }
- } else {
- return false;
- }
- } else {
- return false;
- }
- } else {
- if (this.selectData) {
- //当前为选中的
- if (item.title === this.selectData) {
- if (this.standardAnswer[0] === item.content) {
- return false;
- } else {
- return true;
- }
- } else {
- return false;
- }
+ return item.number === this.selectData && !item.isRightAnswer;
} else {
return false;
}
@@ -75706,14 +75941,17 @@ var script$5f = {
this.$message.error('请选择答案');
return;
}
- let answerIsTrue = false;
- if (this.type === 'radio') {
- answerIsTrue = this.standardAnswer.some(i => i.title === this.selectData);
- } else {
- answerIsTrue = this.standardAnswer.some(i => i === this.radioJudeMap[this.selectData]);
- }
+ // let answerIsTrue = false
+ // if (this.type === 'radio') {
+ // console.log(this.selectData, this.standardAnswer)
+ // answerIsTrue = this.optionsList[this.standardAnswer - 1].number === this.selectData ? true : false
+ // // answerIsTrue = this.standardAnswer.some((i) => i.title === this.selectData)
+ // } else {
+ // answerIsTrue = this.standardAnswer.some((i) => i === this.radioJudeMap[this.selectData])
+ // }
+
this.isAnswer = true;
- this.$emit('showAnalysis', answerIsTrue);
+ this.$emit('showAnalysis', this.answerIsTrue);
},
afresh() {
this.selectData = '';
@@ -75721,7 +75959,8 @@ var script$5f = {
this.$emit('afresh');
},
select(item) {
- this.selectData = item;
+ this.selectData = item.number;
+ this.answerIsTrue = item.isRightAnswer;
// this.$emit('showAnalysis')
}
}
@@ -75732,8 +75971,8 @@ var __$_require_static_images_leaflet_icons_correct_png__ = "data:image/png;base
var __$_require_static_images_leaflet_icons_error_png__ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAABNElEQVQokWO8ySDtycDAMJeBgUGSgTjwnIGBIRmk8RkJmmDgORNME39SBANfTBBOlTyBHgwCWfEwriQTXIaNlUFi8SQG3jBfDE3c7vYMUuvmMDDx8yIEbzJI/4fhZyFp/0HgRVIxXOyJbwJY7GVm5X9ktSgaQfhFcglY4SPrgP/31e3A7FfFTf/R1TGCdaMBDktjBrljG8GCT73jGL5u24fhfCYMEQYGhr8vXyOx32ANLAyNPP7uDIp3jzE89U1geGTlzyB3ZhsDX1wIhkYWZA6Xiy2D1Ia5DK9Lmhm+btkDFnsRl88gsWgiw/9fvxk+r4A4HyVUn0fnQEIvuxojIOByOTVwMbiNTPx8DK8L6hk+TF2A4axPS9czMHJwMDAJ8sPFyE1yL0CBkwJikKDpKQMDQzIArpej/rmzX0cAAAAASUVORK5CYII=";
/* script */
-const __vue_script__$5f = script$5f;
-var __vue_render__$5f = function () {
+const __vue_script__$59 = script$59;
+var __vue_render__$59 = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -75756,7 +75995,7 @@ var __vue_render__$5f = function () {
on: {
click: function ($event) {
$event.stopPropagation();
- return _vm.select(item.title)
+ return _vm.select(item)
},
},
},
@@ -75788,7 +76027,7 @@ var __vue_render__$5f = function () {
!_vm.readonly && !_vm.isTrue(item) && !_vm.isFalse(item)
? _c(
"el-radio",
- { attrs: { value: _vm.selectData, label: item.title } },
+ { attrs: { value: _vm.selectData, label: item.number } },
[_vm._v(_vm._s(""))]
)
: _vm._e(),
@@ -75817,7 +76056,7 @@ var __vue_render__$5f = function () {
attrs: {
"flex-box": "1",
border: false,
- content: item.content,
+ content: item.description,
fileInfo: item.fileInfo,
resourceBasisPath: _vm.resourceBasisPath,
pageType: _vm.pageType,
@@ -75869,17 +76108,17 @@ var __vue_render__$5f = function () {
: _vm._e(),
])
};
-var __vue_staticRenderFns__$5f = [];
-__vue_render__$5f._withStripped = true;
+var __vue_staticRenderFns__$59 = [];
+__vue_render__$59._withStripped = true;
/* style */
- const __vue_inject_styles__$5f = undefined;
+ const __vue_inject_styles__$59 = undefined;
/* scoped */
- const __vue_scope_id__$5f = "data-v-6b27b5ec";
+ const __vue_scope_id__$59 = "data-v-12a7caa8";
/* module identifier */
- const __vue_module_identifier__$5f = undefined;
+ const __vue_module_identifier__$59 = undefined;
/* functional template */
- const __vue_is_functional_template__$5f = false;
+ const __vue_is_functional_template__$59 = false;
/* style inject */
/* style inject SSR */
@@ -75888,13 +76127,13 @@ __vue_render__$5f._withStripped = true;
- const __vue_component__$5f = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5f, staticRenderFns: __vue_staticRenderFns__$5f },
- __vue_inject_styles__$5f,
- __vue_script__$5f,
- __vue_scope_id__$5f,
- __vue_is_functional_template__$5f,
- __vue_module_identifier__$5f,
+ const __vue_component__$59 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$59, staticRenderFns: __vue_staticRenderFns__$59 },
+ __vue_inject_styles__$59,
+ __vue_script__$59,
+ __vue_scope_id__$59,
+ __vue_is_functional_template__$59,
+ __vue_module_identifier__$59,
false,
undefined,
undefined,
@@ -75902,10 +76141,10 @@ __vue_render__$5f._withStripped = true;
);
//
-var script$5e = {
+var script$58 = {
name: 'bc-view-option-checkbox',
components: {
- BcViewCommon: __vue_component__$5g
+ BcViewCommon: __vue_component__$5a
},
props: {
option: {
@@ -75933,8 +76172,8 @@ var script$5e = {
default: () => {}
},
standardAnswer: {
- type: Array,
- default: () => []
+ type: [String, Number],
+ default: ''
},
resourceBasisPath: {
type: String,
@@ -75989,7 +76228,6 @@ var script$5e = {
} else {
this.selectData.push(item);
}
- this.selectData.sort((a, b) => a.charCodeAt() - b.charCodeAt());
this.$emit('change', this.selectData.join(''));
},
submitAnswer() {
@@ -75997,7 +76235,9 @@ var script$5e = {
this.$message.error('请选择答案');
return;
}
- let answerIsTrue = this.standardAnswer.map(i => i.title).join('、') === this.selectData.join('、');
+
+ // let answerIsTrue = this.standardAnswer.map((i) => i.title).join('、') === this.selectData.join('、')
+ let answerIsTrue = false;
this.isAnswer = true;
this.$emit('showAnalysis', answerIsTrue);
},
@@ -76015,8 +76255,8 @@ var script$5e = {
};
/* script */
-const __vue_script__$5e = script$5e;
-var __vue_render__$5e = function () {
+const __vue_script__$58 = script$58;
+var __vue_render__$58 = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -76031,27 +76271,21 @@ var __vue_render__$5e = function () {
key: index,
staticClass: "option-item",
class: {
- isActive: _vm.selectData.includes(item.title) && !_vm.readonly,
+ isActive: _vm.selectData.includes(item.number) && !_vm.readonly,
isTrue:
_vm.isAnswer &&
- _vm.selectData.length &&
- _vm.selectData.includes(item.title) &&
- _vm.standardAnswer.some(function (i) {
- return i.title === item.title
- }),
+ _vm.selectData.includes(item.number) &&
+ item.isRightAnswer,
isFalse:
_vm.isAnswer &&
- _vm.selectData.length &&
- _vm.selectData.includes(item.title) &&
- _vm.standardAnswer.every(function (i) {
- return i.title !== item.title
- }),
+ _vm.selectData.includes(item.number) &&
+ !item.isRightAnswer,
},
attrs: { flex: "" },
on: {
click: function ($event) {
$event.stopPropagation();
- return _vm.select(item.title, $event)
+ return _vm.select(item.number, $event)
},
},
},
@@ -76061,11 +76295,8 @@ var __vue_render__$5e = function () {
{ staticClass: "questionSeq" },
[
_vm.isAnswer &&
- _vm.selectData.length &&
- _vm.selectData.includes(item.title) &&
- _vm.standardAnswer.some(function (i) {
- return i.title === item.title
- })
+ _vm.selectData.includes(item.number) &&
+ item.isRightAnswer
? _c("img", {
staticStyle: { "margin-right": "10px" },
attrs: {
@@ -76076,11 +76307,8 @@ var __vue_render__$5e = function () {
: _vm._e(),
_vm._v(" "),
_vm.isAnswer &&
- _vm.selectData.length &&
- _vm.selectData.includes(item.title) &&
- _vm.standardAnswer.every(function (i) {
- return i.title !== item.title
- })
+ _vm.selectData.includes(item.number) &&
+ !item.isRightAnswer
? _c("img", {
staticStyle: { "margin-right": "10px" },
attrs: {
@@ -76094,13 +76322,13 @@ var __vue_render__$5e = function () {
? _c(
"el-checkbox",
{
- attrs: { value: _vm.selectData.includes(item.title) },
+ attrs: { value: _vm.selectData.includes(item.number) },
nativeOn: {
click: function ($event) {
_vm.SkipProgress(
$event,
- item.title,
- _vm.selectData.includes(item.title)
+ item.number,
+ _vm.selectData.includes(item.number)
);
},
},
@@ -76133,7 +76361,7 @@ var __vue_render__$5e = function () {
attrs: {
"flex-box": "1",
border: false,
- content: item.content,
+ content: item.description,
fileInfo: item.fileInfo,
resourceBasisPath: _vm.resourceBasisPath,
pageType: _vm.pageType,
@@ -76185,17 +76413,17 @@ var __vue_render__$5e = function () {
: _vm._e(),
])
};
-var __vue_staticRenderFns__$5e = [];
-__vue_render__$5e._withStripped = true;
+var __vue_staticRenderFns__$58 = [];
+__vue_render__$58._withStripped = true;
/* style */
- const __vue_inject_styles__$5e = undefined;
+ const __vue_inject_styles__$58 = undefined;
/* scoped */
- const __vue_scope_id__$5e = "data-v-307b4eb2";
+ const __vue_scope_id__$58 = "data-v-f42e3dba";
/* module identifier */
- const __vue_module_identifier__$5e = undefined;
+ const __vue_module_identifier__$58 = undefined;
/* functional template */
- const __vue_is_functional_template__$5e = false;
+ const __vue_is_functional_template__$58 = false;
/* style inject */
/* style inject SSR */
@@ -76204,13 +76432,13 @@ __vue_render__$5e._withStripped = true;
- const __vue_component__$5e = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5e, staticRenderFns: __vue_staticRenderFns__$5e },
- __vue_inject_styles__$5e,
- __vue_script__$5e,
- __vue_scope_id__$5e,
- __vue_is_functional_template__$5e,
- __vue_module_identifier__$5e,
+ const __vue_component__$58 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$58, staticRenderFns: __vue_staticRenderFns__$58 },
+ __vue_inject_styles__$58,
+ __vue_script__$58,
+ __vue_scope_id__$58,
+ __vue_is_functional_template__$58,
+ __vue_module_identifier__$58,
false,
undefined,
undefined,
@@ -76218,12 +76446,12 @@ __vue_render__$5e._withStripped = true;
);
//
-var script$5d = {
+var script$57 = {
name: 'QuestionItem',
components: {
- BcViewOptionCheckbox: __vue_component__$5e,
- BcViewOptionRadio: __vue_component__$5f,
- BcViewCommon: __vue_component__$5g
+ BcViewOptionCheckbox: __vue_component__$58,
+ BcViewOptionRadio: __vue_component__$59,
+ BcViewCommon: __vue_component__$5a
},
// dicts: ['question_type'],
data() {
@@ -76263,7 +76491,7 @@ var script$5d = {
},
questionNumber: {
type: Number,
- default: 0
+ default: -1
},
isShowAi: {
type: String,
@@ -76297,25 +76525,25 @@ var script$5d = {
return this.isAnswer && this.canShowKnowledge === 'true';
},
isRadio() {
- return isRadio$1(this.question.questionType);
+ return isRadio(this.question.type);
},
isCheck() {
- return isCheck$1(this.question.questionType);
+ return isCheck(this.question.type);
},
showJudgeAnswer() {
- return showJudgeAnswer$1(this.question.questionType);
+ return showJudgeAnswer(this.question.type);
},
showRichTextAnswer() {
- return showRichTextAnswer$1(this.question.questionType);
+ return showRichTextAnswer(this.question.type);
},
showOptions() {
- return showOptions$1(this.question.questionType);
+ return showOptions(this.question.type);
},
showSort() {
- return showSort$1(this.question.questionType);
+ return showSort(this.question.type);
},
isCloze() {
- return isCloze$1(this.question.questionType);
+ return isCloze(this.question.type);
},
clozeLength() {
let fillInTheBlanksSpan = this.question.stem.content.match(/fillInTheBlanksSpan/g);
@@ -76456,32 +76684,14 @@ var script$5d = {
e = e.replace(/ /gi, ''); //去除空格
return e;
}
- },
- getPaperList(list) {
- if (list.length > 0) {
- let answerList = [];
- list.map(item => {
- if (typeof item == 'string') {
- let data = {
- selected: false,
- ...JSON.parse(item)
- };
- answerList.push(data);
- } else {
- this.$set(item, 'selected', false);
- answerList = list;
- }
- });
- return answerList;
- }
}
}
};
/* script */
-const __vue_script__$5d = script$5d;
+const __vue_script__$57 = script$57;
/* template */
-var __vue_render__$5d = function () {
+var __vue_render__$57 = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -76499,11 +76709,31 @@ var __vue_render__$5d = function () {
"div",
{ staticClass: "stem-box", staticStyle: { display: "flex" } },
[
+ _vm.questionNumber !== -1
+ ? _c(
+ "div",
+ {
+ staticClass: "question-number",
+ staticStyle: {
+ "line-height": "28px",
+ "padding-right": "4px",
+ },
+ },
+ [
+ _vm._v(
+ "\n " +
+ _vm._s(_vm.questionNumber + 1) +
+ " .\n "
+ ),
+ ]
+ )
+ : _vm._e(),
+ _vm._v(" "),
_c("bc-view-common", {
staticClass: "xml-question-title",
staticStyle: { flex: "1", "min-width": "0" },
attrs: {
- content: _vm.question.stem.content,
+ content: _vm.question.description,
border: false,
fileInfo: _vm.question.stem.fileInfo,
resourceBasisPath: _vm.resourceBasisPath,
@@ -76525,8 +76755,8 @@ var __vue_render__$5d = function () {
_c("bc-view-option-radio", {
ref: "bcViewOptionRadio",
attrs: {
- standardAnswer: _vm.question.standardAnswer,
- option: _vm.question.questionOption,
+ standardAnswer: _vm.question.answer,
+ option: _vm.question.candidates,
resourceBasisPath: _vm.resourceBasisPath,
isSubmit: _vm.isSubmit,
pageType: _vm.pageType,
@@ -76546,8 +76776,8 @@ var __vue_render__$5d = function () {
_c("bc-view-option-checkbox", {
ref: "bcViewOptionCheckbox",
attrs: {
- option: _vm.question.questionOption,
- standardAnswer: _vm.question.standardAnswer,
+ option: _vm.question.candidates,
+ standardAnswer: _vm.question.answer,
resourceBasisPath: _vm.resourceBasisPath,
isSubmit: _vm.isSubmit,
pageType: _vm.pageType,
@@ -76628,15 +76858,11 @@ var __vue_render__$5d = function () {
_c("bc-view-option-radio", {
ref: "bcViewOptionRadio",
attrs: {
- standardAnswer: _vm.question.standardAnswer,
+ standardAnswer: _vm.question.answer,
resourceBasisPath: _vm.resourceBasisPath,
pageType: _vm.pageType,
isSubmit: _vm.isSubmit,
- type: "judge",
- option: [
- { title: "A", content: "正确" },
- { title: "B", content: "错误" },
- ],
+ option: _vm.question.candidates,
},
on: { showAnalysis: _vm.showAnalysis, afresh: _vm.afresh },
}),
@@ -76691,7 +76917,7 @@ var __vue_render__$5d = function () {
questionId: _vm.question.id,
questionName: JSON.stringify(_vm.question.stem),
userAnswer: _vm.clozeLength,
- questionType: "fillInTheBlanks",
+ questionType: "Filling",
});
},
},
@@ -76706,7 +76932,7 @@ var __vue_render__$5d = function () {
"xml-submit-answer xml-submit-answer-right",
on: {
click: function ($event) {
- return _vm.afresh("fillInTheBlanks")
+ return _vm.afresh("Filling")
},
},
},
@@ -76733,70 +76959,20 @@ var __vue_render__$5d = function () {
[
_c("div", { staticClass: "question-label" }, [
_vm._v(
- _vm._s(
- _vm.question.questionType == 13
- ? "参考答案:"
- : "正确答案:"
- )
+ "正确答案:" +
+ _vm._s(_vm.serialNumber[_vm.question.answer - 1])
),
]),
_vm._v(" "),
- _c(
- "div",
- {
- staticStyle: {
- color: "#0070c1",
- "min-width": "0",
- flex: "1",
- "line-height": "28px",
- padding: "8px",
- "border-radius": "6px",
- "background-color": "#f5f5f5",
- },
+ _c("div", {
+ staticStyle: {
+ color: "#0070c1",
+ "min-width": "0",
+ flex: "1",
+ "line-height": "28px",
+ display: "inline-block",
},
- [
- _vm.question.questionType == 3
- ? [
- _c("span", [
- _vm._v(
- "\n " +
- _vm._s(_vm.standardAnswer) +
- "\n "
- ),
- ]),
- ]
- : _vm._l(
- _vm.getPaperList(_vm.question.questionOption),
- function (item, index) {
- return _c(
- "span",
- {
- directives: [
- {
- name: "show",
- rawName: "v-show",
- value: _vm.standardAnswer.includes(
- item.title
- ),
- expression:
- "standardAnswer.includes(item.title)",
- },
- ],
- key: index,
- },
- [
- _vm._v(
- "\n " +
- _vm._s(_vm.serialNumber[index]) +
- "\n "
- ),
- ]
- )
- }
- ),
- ],
- 2
- ),
+ }),
]
),
])
@@ -76811,26 +76987,12 @@ var __vue_render__$5d = function () {
},
[
_c("div", { staticClass: "question-label" }, [
- _vm._v(
- _vm._s(
- _vm.question.questionType == 13
- ? "参考答案:"
- : "正确答案:"
- )
- ),
+ _vm._v("正确答案:"),
]),
_vm._v(" "),
_c(
"div",
- {
- staticStyle: {
- flex: "1",
- "min-width": "0",
- padding: "8px",
- "border-radius": "6px",
- "background-color": "#f5f5f5",
- },
- },
+ { staticStyle: { flex: "1", "min-width": "0" } },
[
_c("bc-view-common", {
staticStyle: { flex: "1", "min-width": "0" },
@@ -76884,13 +77046,7 @@ var __vue_render__$5d = function () {
class: {
"analysis-content": _vm.question.analysis.content,
},
- staticStyle: {
- "min-width": "0",
- flex: "1",
- padding: "8px",
- "border-radius": "6px",
- "background-color": "#f5f5f5",
- },
+ staticStyle: { "min-width": "0", flex: "1" },
},
[
_c("bc-view-common", {
@@ -76909,60 +77065,21 @@ var __vue_render__$5d = function () {
]
)
: _vm._e(),
- _vm._v(" "),
- _vm.isShowKnowledge && _vm.question.knowledgePointVoList.length
- ? _c("div", { staticClass: "info-item", attrs: { flex: "" } }, [
- _c("div", { staticClass: "info-item--label" }, [
- _vm._v("知识点:"),
- ]),
- _vm._v(" "),
- _c(
- "div",
- {
- staticClass: "info-item--content",
- staticStyle: { flex: "1" },
- },
- [
- _vm.question.knowledgePointVoList &&
- _vm.question.knowledgePointVoList.length
- ? _vm._l(
- _vm.question.knowledgePointVoList,
- function (item) {
- return _c(
- "el-tag",
- {
- key: item.id,
- staticStyle: {
- "margin-right": "8px",
- "margin-bottom": "8px",
- },
- attrs: { effect: "plain" },
- },
- [_vm._v(_vm._s(item.kpName))]
- )
- }
- )
- : [_c("span", [_vm._v("无")])],
- ],
- 2
- ),
- ])
- : _vm._e(),
]
),
])
};
-var __vue_staticRenderFns__$5d = [];
-__vue_render__$5d._withStripped = true;
+var __vue_staticRenderFns__$57 = [];
+__vue_render__$57._withStripped = true;
/* style */
- const __vue_inject_styles__$5d = undefined;
+ const __vue_inject_styles__$57 = undefined;
/* scoped */
- const __vue_scope_id__$5d = "data-v-f32c04e6";
+ const __vue_scope_id__$57 = "data-v-01a0a672";
/* module identifier */
- const __vue_module_identifier__$5d = undefined;
+ const __vue_module_identifier__$57 = undefined;
/* functional template */
- const __vue_is_functional_template__$5d = false;
+ const __vue_is_functional_template__$57 = false;
/* style inject */
/* style inject SSR */
@@ -76971,13 +77088,13 @@ __vue_render__$5d._withStripped = true;
- const __vue_component__$5d = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5d, staticRenderFns: __vue_staticRenderFns__$5d },
- __vue_inject_styles__$5d,
- __vue_script__$5d,
- __vue_scope_id__$5d,
- __vue_is_functional_template__$5d,
- __vue_module_identifier__$5d,
+ const __vue_component__$57 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$57, staticRenderFns: __vue_staticRenderFns__$57 },
+ __vue_inject_styles__$57,
+ __vue_script__$57,
+ __vue_scope_id__$57,
+ __vue_is_functional_template__$57,
+ __vue_module_identifier__$57,
false,
undefined,
undefined,
@@ -76985,10 +77102,10 @@ __vue_render__$5d._withStripped = true;
);
//
-var script$5c = {
+var script$56 = {
name: 'XmlQuestionRender',
components: {
- QuestionItem: __vue_component__$5d
+ QuestionItem: __vue_component__$57
},
// dicts: [
// "question_type",
@@ -77112,9 +77229,9 @@ var script$5c = {
};
/* script */
-const __vue_script__$5c = script$5c;
+const __vue_script__$56 = script$56;
/* template */
-var __vue_render__$5c = function () {
+var __vue_render__$56 = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -77144,7 +77261,7 @@ var __vue_render__$5c = function () {
"can-show-answer": _vm.pBlockData.showAnswer,
"can-show-knowledge": _vm.pBlockData.showRecommend,
border: index < _vm.questionSetList.length - 1 ? true : false,
- "question-number": index,
+ "question-number": _vm.questionSetList.length > 1 ? index : -1,
"is-show-ai": _vm.isShowAi,
resourceBasisPath: _vm.resourceBasisPath,
pageType: _vm.pageType,
@@ -77162,17 +77279,17 @@ var __vue_render__$5c = function () {
]
)
};
-var __vue_staticRenderFns__$5c = [];
-__vue_render__$5c._withStripped = true;
+var __vue_staticRenderFns__$56 = [];
+__vue_render__$56._withStripped = true;
/* style */
- const __vue_inject_styles__$5c = undefined;
+ const __vue_inject_styles__$56 = undefined;
/* scoped */
- const __vue_scope_id__$5c = "data-v-2e04d85c";
+ const __vue_scope_id__$56 = "data-v-ba265e2e";
/* module identifier */
- const __vue_module_identifier__$5c = undefined;
+ const __vue_module_identifier__$56 = undefined;
/* functional template */
- const __vue_is_functional_template__$5c = false;
+ const __vue_is_functional_template__$56 = false;
/* style inject */
/* style inject SSR */
@@ -77181,23 +77298,23 @@ __vue_render__$5c._withStripped = true;
- const __vue_component__$5c = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5c, staticRenderFns: __vue_staticRenderFns__$5c },
- __vue_inject_styles__$5c,
- __vue_script__$5c,
- __vue_scope_id__$5c,
- __vue_is_functional_template__$5c,
- __vue_module_identifier__$5c,
+ const __vue_component__$56 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$56, staticRenderFns: __vue_staticRenderFns__$56 },
+ __vue_inject_styles__$56,
+ __vue_script__$56,
+ __vue_scope_id__$56,
+ __vue_is_functional_template__$56,
+ __vue_module_identifier__$56,
false,
undefined,
undefined,
undefined
);
-__vue_component__$5c.install = (Vue, options = {}) => {
+__vue_component__$56.install = (Vue, options = {}) => {
Vue.component(createNamespace$1('question-render', {
prefix: options.prefix
- }), __vue_component__$5c);
+ }), __vue_component__$56);
};
var epub = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAMAAAChHKjRAAAAAXNSR0IArs4c6QAAAjdQTFRFAAAAiXb/kG/0inD6inX6jW72jXL2eGLpe2fuinL2i3H3iHf6i3L5dmTvjHH3inP4inH2i3L2d2TuhW7vjHH5d2TqjnH5fWnyd2bskHb5jXX1jHH2i3H3i3H4i3H4d2Xsd2Xqi3H4cmLoi3L4inH3i3L3inL3i3L3jHL3hG3zi3L3jHL4jnT5i3L3i3L3jHH2bFPvbl/nb2DncF/ncVP1cWHncWHocWHpclP2cmLpc2Lpc2Lqc2Ppc2PqdGPpdGPqd1r1d1z0d2TreFv2eFz0eFz1eGDxeGbseVv1eVz1el31el32el71el72e133e1/2e2TxfGD1fGXxfWD3fWH2fmjxf2T2f2rwgGX3gGnygWX2gWb2gWb3gWrzgWzzgmb3gmf2gmzyg23zhGj3hGn2hGr2hGr3hG3zhWr3hWv2hWv3hWz3hW7zhW70hmz3h233h273iG34iG/3iW34iW74iW/3iXD3iXH2inD4inH3inP2i3D4i3H3i3H4i3L3i3L4i3P4jHL3jHL4jHP3jHP4jHT2jHT3jHrxjHryjXP4jXT3jXT5jXX3jXvyjnT5jnX4j3T5j3T6j3b3lYH2l4H4mIL4mYP4movynY/xpJL3pJfzpZL5pZjzqJX5q5n5r576saD6uaz3va/7zMT5zcP7z8X70Mb70sj708n708r71c381c761s382ND72db4393549z+4+H55+b66OL96+b+6+r67+v+8/L99PD/9vT+///9///+////0H5GmAAAADB0Uk5TAA0XMjI6OkZNVVpefX+HjJCRkpSeoausra2vs7W2t7i5v8TN1tbd3t/o6+7v8PH8u0jmrQAAAapJREFUOMtjYGBgYBZQ1sMAOpoKHAwIwF+HDfSlG9nzElADVGRuZScEVcNWiVORvY29KESRZDluRfb2VhJgRSp1OBQlgRTZW8uDFKnjUpRrZgtSZamER1Fji5MhSJG9qTgDgxoORXXd5e5mYGDMjltRXV9nTiIIxAkjKeoq8veFg5DK5rqWvgl9QDBRCklRacG8BfOhYMHs/Bq4hBySIu9Fe5DAXH+4hDRCUaXnqj3b12+EgE3rJidjVeS1ZM9ig4AgMAh1S+3HpWiFX2EJGBRXN9fhUrQyBFt0oylaahIWBQZ5bbgVrW2eMhUMyrLacCqCgx2TUnAr2gUFW1szcCpaHd7RCwLtkVlduB1uEREDAvGFXXWUBcFy5+x8MMgrwh2Yyxyy8sCgKDqtB6sijzV7dm7eAgHbNkxLwKaoznvhbqSkMjMYq6La2BlzZkHBnOmZ9VgVtVX4OLpCgUtgUzNWRXV1zS1w0Ig9CHADaZyZEwnIMGgQViTLoEpYkQiDWBUhNTXcDKwEDdJnZGAQJKCmgQtUQvHhVaPNCSkRWQSVdfWwAi1FHiagAgAPu3js6FbZbgAAAABJRU5ErkJggg==";
@@ -77215,7 +77332,7 @@ var image$1 = {
// import { OuchnOss } from '@/api/business/file/OuchnOss'
// import { defaultCover } from '@/assets/remote'
-var script$5b = {
+var script$55 = {
name: 'XmlResourceRender',
props: {
//模式:preview 预览 (默认),editor 编辑
@@ -77255,6 +77372,11 @@ var script$5b = {
default: function () {
return {};
}
+ },
+ isReader: {
+ // 是否阅读器
+ type: Boolean,
+ default: false
}
},
watch: {
@@ -77375,23 +77497,19 @@ var script$5b = {
if (item.uploadFileUrl.indexOf('./') !== -1) {
url = this.resourceBasisPath + item.uploadFileUrl.split('./')[1];
}
- this.$emit('showFileReader', {
- fileFormat: item.fileFormat,
- fileUrl: url,
- title: item.title
- });
- // if (item.uploadFileUrl.indexOf('http') === -1) {
- // window.open(
- // (this.officePreviewPath ? this.officePreviewPath : 'https://view.officeapps.live.com/op/view.aspx?src=') +
- // this.resourceBasisPath +
- // item.uploadFileUrl.split('./')[1]
- // )
- // } else {
- // window.open(
- // (this.officePreviewPath ? this.officePreviewPath : 'https://view.officeapps.live.com/op/view.aspx?src=') +
- // item.uploadFileUrl
- // )
- // }
+ if (this.isReader) {
+ this.$emit('showFileReader', {
+ fileFormat: item.fileFormat,
+ fileUrl: url,
+ title: item.title
+ });
+ } else {
+ if (item.uploadFileUrl.indexOf('http') === -1) {
+ window.open((this.officePreviewPath ? this.officePreviewPath : 'https://view.officeapps.live.com/op/view.aspx?src=') + this.resourceBasisPath + item.uploadFileUrl.split('./')[1]);
+ } else {
+ window.open((this.officePreviewPath ? this.officePreviewPath : 'https://view.officeapps.live.com/op/view.aspx?src=') + item.uploadFileUrl);
+ }
+ }
}
}
},
@@ -77413,8 +77531,8 @@ var __$_require_static_images_leaflet_icons_resource_elliptic_png__ = "data:imag
var __$_require_static_images_leaflet_icons_download_white_png__ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAjlJREFUSEvtlcurjWEUh59fSpFLJOUUcquDciuXRExkrkxMMDkGkpPEgAEDipJIIuU2MPAnKJLEQK4hhDoZSCEhcv1p7dbJbnf23t+3nW201+Sr911rPd+6vqJFsT0NeJ7mOyUdLONKZZSrdW1PBV7kWa+kI2V8/Qt4CvAyYVskHeuAG2Wgk+rC/WG701yDN062J0p6NVD+i6ba9gTgvaRv1X7qdrXtS8AqYI+kvbXwImDb64DzuVpnSnK/n0bgR8CsVNwnaXfNymzYXLY3AqfT5hcwVNLvIuAxwA2gO5X3S9rVb9goYtvrgbOpGyleKulOoVSHku3hwGNgchodkrQ972YAz/J8q6Sjed4DnMzz78AiSfdrS9V0c9keD1wHAhRSidz2WOBdnvVIOlWT3oh0uaRbAzVnU3BGMQ64CUxPJ5slHbf9BRgGrAA+A7fz/gewWNLdehupEDjhAYi/n53OLgArgS7gakQHDAG+AkskPWi0BguDEz4y0z6njtOALpD0pBE07kqBqxruIRDjVC0/gfmS4q6plAYnfFTWs7/mUdOItBC0ErHtgG8D3ko61/RXU8H26KxtfNdIulfCdlmA1wIX06hL0uuiDlrRsx1N+jHAO4AD6aRb0tNWHBa1yb3wJsC9wOH/GPGISlltbwDOJHhus/krGlk9Pdsxkh8CPAnoS8XLwGpJ8Zq0RWyfADZVxsl2PF/xjIV8Aq4B7YDPAyLQvwvE9hVgIRA1aKfEdutraYEMxl/9AUsz/weMzneQAAAAAElFTkSuQmCC";
/* script */
-const __vue_script__$5b = script$5b;
-var __vue_render__$5b = function () {
+const __vue_script__$55 = script$55;
+var __vue_render__$55 = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -78434,7 +78552,7 @@ var __vue_render__$5b = function () {
]
)
};
-var __vue_staticRenderFns__$5b = [
+var __vue_staticRenderFns__$55 = [
function () {
var _vm = this;
var _h = _vm.$createElement;
@@ -78490,16 +78608,16 @@ var __vue_staticRenderFns__$5b = [
])
},
];
-__vue_render__$5b._withStripped = true;
+__vue_render__$55._withStripped = true;
/* style */
- const __vue_inject_styles__$5b = undefined;
+ const __vue_inject_styles__$55 = undefined;
/* scoped */
- const __vue_scope_id__$5b = "data-v-9f3a54f2";
+ const __vue_scope_id__$55 = "data-v-95fbfab6";
/* module identifier */
- const __vue_module_identifier__$5b = undefined;
+ const __vue_module_identifier__$55 = undefined;
/* functional template */
- const __vue_is_functional_template__$5b = false;
+ const __vue_is_functional_template__$55 = false;
/* style inject */
/* style inject SSR */
@@ -78508,23 +78626,23 @@ __vue_render__$5b._withStripped = true;
- const __vue_component__$5b = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5b, staticRenderFns: __vue_staticRenderFns__$5b },
- __vue_inject_styles__$5b,
- __vue_script__$5b,
- __vue_scope_id__$5b,
- __vue_is_functional_template__$5b,
- __vue_module_identifier__$5b,
+ const __vue_component__$55 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$55, staticRenderFns: __vue_staticRenderFns__$55 },
+ __vue_inject_styles__$55,
+ __vue_script__$55,
+ __vue_scope_id__$55,
+ __vue_is_functional_template__$55,
+ __vue_module_identifier__$55,
false,
undefined,
undefined,
undefined
);
-__vue_component__$5b.install = (Vue, options = {}) => {
+__vue_component__$55.install = (Vue, options = {}) => {
Vue.component(createNamespace$1('resource-render', {
prefix: options.prefix
- }), __vue_component__$5b);
+ }), __vue_component__$55);
};
//
@@ -78594,7 +78712,7 @@ __vue_component__$5b.install = (Vue, options = {}) => {
//
//
-var script$5a = {
+var script$54 = {
name: 'PdfView',
props: {
show: {
@@ -78632,8 +78750,8 @@ var script$5a = {
var __$_require_static_images_leaflet_icons_back_png__ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAABACAYAAAB2kAXpAAAAAXNSR0IArs4c6QAABABJREFUaEPVmluopmMUx39/UUy44cJMg+FikEMuGMnIOJcwlHIYpKkZmchxuJDT5MIpIzXIpMkhh5QwlPPx0uHKhbiYKCJXSMTor7U9W4/t29/3rP3t55usm137+z/v+r3Pca31vGIHme19gVXAEuBXYKukd6ZxtCO4bJ8HPAHsNsP/RknXxf8mDmZ7NfDYkA65UtKmiYLZvhp4YMQofSVpycTAbN8M3NkwdbZL2mUiYLbvBW5ogArJ15L27w5m+yHgikaokK2WtKUrmO2ngQsTUBsk3dZ1Vdp+EViZgFov6b5u+5jtnYE3gBMTUOskPVzr53UobS8A3gWWJaBWSYoh/5fNG5jtfYA4Ug5JQJ0j6aVB+nkBs70f8CEQf1tsO3CqpPdmE48NZvswIBzs1UJUDuwTJH00TD8WmO2jgbeBPRqhfgBOkvTZKP2cwWyvKFA7jXJSfv8GOF7Sthb9nMBsx/4U+1SrfQ6skPR9a4M0mO1LgcdbHQAxl2Ki/5hok4vHbK8DNiUcxPZxmqQ/E22mpM09Zvsm4K6EgwiVz07o8xus7TuAWxNOnpF0UUL/H+nIHrP9IHBVwslmSWsT+oHSoWC2twCXJZzcL+n6hH5W6axgtl8Azk04uV1SDPm82EAw26/Hakp4uFbSqCQj8bgZq7KELW8BxyaeslbS5oS+SfpPj9neE3gfOLKp5d+iCyQ9l9A3S6fASroeEcKBzS3hLEmvJPQpqWwvLWHLwsaWv5cj5oNG/ZxkAfZTImz5uRzGn87JW6JRgLlR/20kGJK+aNSPJWsF+wRYLum3sbwlGv/vweJdYyhPlhRBX3eLHvsDiCS1xX4pk//jFvE4mgA7puSDkay2WLxIBH+zpl4tDxmlmd5gDy9we49qUP2+UtLLCX1KWh9JB5SNtjVpDUd9j6TpVylpfhzihyZer+8hXsHtXgojRyXg+oY9FVys0jdjBSbg+geKFeBW4MwEXP/QuoJ7Fjg/Adc/GangHgEuT8D1T98quHuA9Qm4/glvBXcLsCEBFyWC0yVFoS5lIxPemU+zfQ2wMeElztVTuhZVqp5bAzyagOtfhqrgYqXGim21/oW7Cu4MIDKl1inRv9RZwR0HxPm6a2PXxW1u3+JwBRdJciTLkTS3WP9yegV3UInpFrWQFU3fC4gKbjEQiXDEdq3W98qmgouLiNhYj2glA/peclVw8XVA3MAtT8D1vRasQWy/FkdSAq7/RWrVe88D8Z1Fq10i6anWjbH1oQN1yVrul5KWTgQsaBPV78l93lANa3x3Ed9fDLPvJC2cWI9VcDcCdw8hm1qdEwcrwxphelzOz/T/pKS4RGuOCsaa/IMa2z4YuLicElHVfLWu6f4FuhpYUNovLf0AAAAASUVORK5CYII=";
/* script */
-const __vue_script__$5a = script$5a;
-var __vue_render__$5a = function () {
+const __vue_script__$54 = script$54;
+var __vue_render__$54 = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -78753,17 +78871,17 @@ var __vue_render__$5a = function () {
1
)
};
-var __vue_staticRenderFns__$5a = [];
-__vue_render__$5a._withStripped = true;
+var __vue_staticRenderFns__$54 = [];
+__vue_render__$54._withStripped = true;
/* style */
- const __vue_inject_styles__$5a = undefined;
+ const __vue_inject_styles__$54 = undefined;
/* scoped */
- const __vue_scope_id__$5a = undefined;
+ const __vue_scope_id__$54 = undefined;
/* module identifier */
- const __vue_module_identifier__$5a = undefined;
+ const __vue_module_identifier__$54 = undefined;
/* functional template */
- const __vue_is_functional_template__$5a = false;
+ const __vue_is_functional_template__$54 = false;
/* style inject */
/* style inject SSR */
@@ -78772,13 +78890,13 @@ __vue_render__$5a._withStripped = true;
- const __vue_component__$5a = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$5a, staticRenderFns: __vue_staticRenderFns__$5a },
- __vue_inject_styles__$5a,
- __vue_script__$5a,
- __vue_scope_id__$5a,
- __vue_is_functional_template__$5a,
- __vue_module_identifier__$5a,
+ const __vue_component__$54 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$54, staticRenderFns: __vue_staticRenderFns__$54 },
+ __vue_inject_styles__$54,
+ __vue_script__$54,
+ __vue_scope_id__$54,
+ __vue_is_functional_template__$54,
+ __vue_module_identifier__$54,
false,
undefined,
undefined,
@@ -78786,10 +78904,10 @@ __vue_render__$5a._withStripped = true;
);
//
-var script$59 = {
+var script$53 = {
name: 'XmlEbookRender',
components: {
- PdfView: __vue_component__$5a
+ PdfView: __vue_component__$54
},
props: {
//模式:preview 预览 (默认),editor 编辑
@@ -78825,6 +78943,11 @@ var script$59 = {
default: function () {
return {};
}
+ },
+ isReader: {
+ // 是否阅读器
+ type: Boolean,
+ default: false
}
},
watch: {
@@ -78881,12 +79004,12 @@ var script$59 = {
});
} else if (info.uploadFileUrl) {
if (info.uploadFileUrl.indexOf('.epub') > 0) {
- this.baseUrl = 'epubjs/index.html#/epub-read?flow=scrolled&bookPath=' + baseUrl;
+ this.baseUrl = '/static/epubjs/index.html#/epub-read?flow=scrolled&bookPath=' + baseUrl;
this.showPdf = true;
this.textInfo = info.name || info.title;
} else {
// const baseUrl = this.resourceBasisPath + info.uploadFileUrl.split('./')[1]
- this.baseUrl = `/pdfjs/web/viewer.html?file=${baseUrl}`;
+ this.baseUrl = `/static/pdfjs/web/viewer.html?file=${baseUrl}`;
this.showPdf = true;
this.textInfo = info.name || info.title;
}
@@ -78910,8 +79033,8 @@ var script$59 = {
var __$_require_static_images_default_over_ebook_png__ = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAE7mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4wLWMwMDAgNzkuMTcxYzI3ZiwgMjAyMi8wOC8xNi0xODowMjo0MyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI0LjAgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyNC0wNy0wNVQxNzoxOTo1MiswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjQtMDctMDlUMTg6MTM6MDMrMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjQtMDctMDlUMTg6MTM6MDMrMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmYyOWQ3Y2I5LTFhNmEtZGE0MS05MmQ1LTY1YTEyZmYwZTlkNSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpmMjlkN2NiOS0xYTZhLWRhNDEtOTJkNS02NWExMmZmMGU5ZDUiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpmMjlkN2NiOS0xYTZhLWRhNDEtOTJkNS02NWExMmZmMGU5ZDUiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmYyOWQ3Y2I5LTFhNmEtZGE0MS05MmQ1LTY1YTEyZmYwZTlkNSIgc3RFdnQ6d2hlbj0iMjAyNC0wNy0wNVQxNzoxOTo1MiswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI0LjAgKFdpbmRvd3MpIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pq+RjPYAABoOSURBVHic7Z1bj2RXdcd/+1yqunsuvo3HdownvmBjGzuQOEg4CqAAAhQUhBQJR8pzlId8gTzmIQ/5AokUKa9IASlKBOIiFAghF6xACNiBMTYhsY3tsT0z9nhmuqvObedhrVX7VPWpqnPqNj1D/aWa6e6qOmefvfZe972W894zAw8BHwE+CDwC3AXszPrCFmtFBVwG3gBeAJ4Gvq0/N8JNIfBJ4CngM8DDwN3A7mrHusWS2AdeBc4CXwa+CFya/FATgX8N+GPgc8Cp9Y5xixXhAvAF4K+BZ+pvTBL4A8CfAb+7qZFtsVJ8FaHf9+wPdQI/BvwF8OlZV6g8FCV4wAFJBFG0lsHeMPBe5ityG7ndV4A/Bf4bwEhzC/AnzCFu6eEgg/1M/r+aw0EOZbXgULy+lkDloapkEo8ivIeBzldebuSWn0ZoeQsEAn8O+MNZ36o8DHN5lZVObAnDQgbflchFBVeG8ioWXCBZIYvtagZXh5DlS6+XlaPykFcy1mIzBAah5VMACaIlfxY4MesbeSmDhMBqnJMJHerf9/rt2VBeyu53yDV2U0ji9k8wzGGgi82IWlZiR/RTue5RgHOMBrPBMZ1AaPrtCPgo8Oi8b5QqRyZHab9mZXcWFOuXh7nsxLxo972yhEEhO9+58CqUHQ7zbuNYK5zMkUOJvTk8AnwsQZwYd837dOIgB5poaOOuOrDaXgxVKru/8sIdIgdpMv+7RaX3mtgZDtnBA+UM/bT9eFaFshrnKt6D19/zCqgt4th141odcRfwZIJ4q+ZORRpDEUOZg3fjG9k06i5aYhzBjt41K2R1t35Yu4+nkaNUXohceegnm9Xys0K4y2hYPhA7L4Mcrjz0EjgWrW1np8C7E+B0m087JzvCdpuxa9Ne01heXWBETmLR9qJIJqGq5L1pBE9ied9PEQkOYddVIbsptuvUNDBXY51E+r8LC3VRkyaKZGwj+KCAutp1nd+I2XRHQgcXZBzBbj9MIF52cxzDzoI7Ja5NSFGKNlxVslh2es2LJtbF5r3oBk3zFCHvZyX4YuIzqtmN5GJNjkcogdW+N2LbgpiHfiwL0PvATczK6MWya0HuH7u1y+WdhI7KXexEW87VVIoQAse1q9SdIZETZ0ibBzGbts4lXK95J/d1og4y+XzT5U1DH93bj785MsNVnjuCiHTK/uNIni1WDhXNI4qD2G4ORD4sjljnYoNwCQuYjs7JamwQgRSlrli9qgd6kezGeM7DJRH00mDP5gUcIGy8SfnqJcGRUNO5xsc69ZcZfze56UWhKwFXQmYE112auIbvTqDy+tKfNwzfQmedjslnK0tRbrKyplkDQ9Uid+cQOYrkM87DsAxEtptNsmvTlI3IY7t1mWeauIZH7lGpPI0qecZUtf5ZyqHJ9GoFY1sESxF4DD7YwnV5FSMPZ06S3bSm9DQgdkJkdKFUFWQVeLVtm4icJmL7TmPVy2KS6KUXuV44EVWJsu8mURRFsggXUUJBnj9XszCK5B7zOGEdKyOwJ9h7k5McIcrYULXenTmyyHYyGQyVXRYFHHjwPREPh27uVG5uAHWNuyiFAHmpSlR8eAH3YlQwd0OpnCkrZJNEysXmccI6VifyHURx0F4b3gZkVw6y+f7nyIns7SU6SN0tA3Xa2y0qH3b6JuFqPzhVDgfqkRsWqwl+DLMgqhxqFRRyn7aXX9kOdggxyir4picRoey6BJeBm8euI9GWCyWgc3L9g0w1WmSh5NW1kW8wzr7NW1UMIVczb1Gt2TxilR+3UMpKdB3Z0vOvszoZTNh13guRm2zHCA1Q6MrcdbPZTRyFhWHXKkp5ULMzabjPtYCNwWR05cUQTRcIfjgnYm1S5o3EUMsLrtwqM2dILwna5yRs3Fk5P9TY+H19ONNMjwJx6zAHRlEKyx5k3U2kSE3RJAoafOVFDKZJe4610h1sMGcIw6A9N+5klSnozp9kZx6Rt9OCVEeNsJNwah4NMhExu71u3j4Lew5z9dipyNrpQLW1EBiUyD0hYjFFu7Z4clYAPvilIbD5YS7vXSsZuyyMWw1LqDIhclu57BDHTxwHMymOui3stREYZDDH+hLYz3IaR2YTkKvMsgcwp8I0X/P1hPpC9l4WftvImUMXxILCtBOBbdJtN8ZuPsuJI3FumCMEGnay/lOUNfPpCClPq4A9R65yuQuRl0FrAueFEGiMwJF6aJLZhIjVcVHNyb8aY8M3CmVrsOfLC8la3wSRWxG4nlgXuWBkF6UMtl+J/JwlJ2N12VW160xDF4Vzneugq6+izVgcgMa9DzI4trPeuPBcAltyXFEFMVCPvln2hAf2UmY+ZRrDEI00NcljF7xWraBRmnWkzNpYWit3PszH3GvrP1kJ0VAsjnUpkTMJXGm6Z1k2P6z97gmJbrOIPEqYb5DbcRSS6EfeoabJqq2uUShuIg9qGVjWhcWB61mRs8bjffAylW2JjBI5F6/XOmg8k8ClBu4ds1eY0aKe7DbJdoqqZs/p3ywhYFfNqUv7cGUw3Xa274BGaRI4viOv3UhESTbFTdoGqdqYZQWXBzKW+pibxmMqRS+Fkztwy56McX84PUZtqKcdx3FDEGUFmMui2+6KOpFhPDe58uI4H6XVOiFomoii8c4BPPcq/OwcXLgC+5kfpbRMolJWGMeO4324/QScuR3OnIJbjolZlllMusWW8F7Tg1LxI597G159G166AG9cgqsDyAs/lk9VR6ETtNeH0zc5Hr0LHrhTfrdTH/OGYVGjaA1K11wC153pbT5rRC5KTYxzEuobySa9VhKL+fTWVfjGs55vPON59WKHWKcTSicxnDoJj51xfPABx8N3w/G+3rdFnnY/kYV2eQA/eRWefr7i7Ctw/rJGrVqucEk28Nxzq+Pjjzs+/DDcelx2Z15On8KRH0BPicQrzrJ03vvXgDub3qx0ZQ3UQG+r7VnCmfE1X8t5Mv3q5J7skL/9bsW/PAdvviOytNfBz2rRlkRt7VM3w5OPRnziMbj3Zk2CnzG5aSwEfu0t+OoPPf/+gufCFTgYhqT6eBpvnoDpAVEEN+3Bxx5z/MFvOW7Zk0TCefBevruTiDxeEc7N3MGRkwm3kFxbjBFows1oCWwXr8B3noNvPAMXLgt7TaLFFCXvZRLffBkuXqrIrjg+/YTjntvC7phEmsguf+4N+Mf/qvjms3DussrzVJISuiJSzfjVi/DNZzy3HYdPvU9EycGc0xbOyTxnJaRVt6yNmWOa94FE5VPiljdHvLoi91KRuV//kefqAE7uLvdAzsHeLtx6DC5dgq99z/OVH3je3hflp+nzx3tw8TJ86fueL/8ALh3Abcc1J2xBFumVm5w6Dm9dESK/cUk1ZDd/8UZoPD1fnenXalp7SciKXPa+lnP8xiX4n3MeTzhissy1HZAksHcc3i7gn896vnNWZOteX6+v3KSfwDsD+N7znu/+2HN1KAskiZczVWz8iXK9t/e7nddyLuRyL3richKt900/kThv3GIltoElra/svKfXHZSIfH/tbfjKf1a89GY4vuJR5a4HP3rR8/VnPO8M4cReiLsuC4cG/J3EbhfhBt6PpyUtg06Msaeab7QCdm0J8au27r2X0wXOwS8uwvOveS4P1Imi3qlBDmdfhefPCREsC2XViBcIlox2cbHEwfoaOku+Xqqprytg1+tCqbHlKIYXzsHL52Xn9hPRuv/vPPzigtrTK9q5BrMSllq3Tk+HaJx8GRwisGmdWTndr9pPQ3bCUSVyEonp8spFz/nLQkg7CfHSm57XL3lSPcR2VB8iL5aXxYcInBdiclw+COd+mtBLND93RTJ51TAxcnkgJoodIvPIs10drmCnrQmj2HHV/lD8NIwR2BSf0oeaHPvD6TnH/Xi1itdK4UIWRW6r1IWIj58S0TpK8Ogx2CWuMUZgp4pPqqcF7cjJIJ9O5F4sZojlGR01QnsfZKx52Oxo6JEbbA2jgIzXPOgFcYhFm+M9jdXd68zPOv0iaU27PmoYxZjrf7smI+mOyMnGWqY6T6OrsheDU39oPYxlmRhNxE4TyezocqxiE7heiDkNpdesVL+YTT3VF53GkOwEu+xAz9z0NMQ3jch57YThFquBBTIWCSXODDYYkYpaIS+TZ7u9wyx5lD6zJe7KYBusrBYLJbZydDh1u0Ua3x3mElKre1rMSX4j5DEfJViI1Q4PdEWrrMokCsclzEdqqTGpFoEwm227gdeDRb1trfOiLRBvartHgun1kkpH1XFwvcP7UJymq6XSyRedxhLLTWKC06Db/bZYEOZ86orOZ5NSLbw0yK7twetfNngWY9ONO7jSmhPFlAtakbJVxVC3mA+H5LZ1ne9DBLaTCvvDUA+jCea9SuKj5di4IaHi0IrPdcEYgY24w0J4vpX5nZZMnmqWxyZOyf0yYxRdWqBk83g0CdWQfdCIrQzBVCJHekruCMeGbxTYofisA5GjyV/MHKrU92m1Jg5mFOxOtFRhesQjNNczHGIiWZWhtjv5ULiwl+rZIsbPAefV7KrspnjNKou0RXdYuLN+MKScs+HqOKRkOcTPvNMLNRZBfi5aEPlaVFm/kWGxa3NZwgRXnbOTG80khxDYDpCNEsmcmE5WzW2L9cESAndS0XHqXBWEFnZobRaRpzo6HKHk/iCvnTdCVs8gk597tfINFnXa+qOXhxHXCogn6qa0VgU2v1kRSmk0YXa4ELF1HcIOLOjsIhH2VuArjcIh8A32BrohYZsjcePmZ6QnMvDjzchiN9s/3cpVaYnho53sAosYZpAp76jltm2xJEa5ZLXJtL4Z3oXaYmnSfP7K0NoXbQeoxnYyqoRZ04kFHmSLcZjOk1UQF1qCaoLIO2lIo5p2MN3QmsAmky19p07kLVYLh3oV9Vzxbu/w+2urF91LVKBvKbtWmIk6yENZjIWu0/kLUSjSvY0Frxd2NGiZdn2dCezQc7R1y3uLtcEh1XYPMq332RELnasfNYta5MtbdEaEWCyLOJgWLpyw7fq9WTgXdnIXdr0YmVzYxVtsBg7Veyotz9xyJy9EYIdEjSzLcovNwUK5+y138sKM1upKrrLMxhYCz+x5dYircj+fHzJcXAa7UGpwEU5txzFuVNg55EWQWGFWZhDZBffxLP//UiX901ibZixwXMU55QAVVpXwhoEjZKZ2IbJz4mPoaTmnQk9rFrUUqvo9QNJ3kmJ6XtxSurD17IP2BLK2ALefhPtPO5wLPZZuBBhhkhhu3mvfr9B7LTqnBUljTZ7YSaUr3qz5ncUIlyLwWFv2FhS2zmWDHB68Ez75uOPmPSlKZvHlUTPmtq9lHmDWWOk4Dt1ig1wKrJ6+CX7nUcepE+pqnMHlbOqMLdfRS7TSIOOpOxC6os3q4rJ01xXriNlWnlZeFINTJ+C3H4aXLzr+9aeeS1e7sXqLokRRiImugs2bg85ET5ueiPYdj/xz+wn4yMPwqfc7bj7Wshgpcq/JZAnnoN9jtHhGLF/nqldLCmjC0gROVG5Y8L9VjWZksKdvgqeedNx9C/zbTz0/f1Mmo00pfa/lJSoPXvsJrcIuLythsVZNfjTgWd/xIZftvjscH3kUPvQQo907L8NlMjtjMq/NEYqsZyVUpSRdpLEQeNZcLd83yWkvho6TO9SOZ2dug0+8z/HuOx0vnve8eVm1whns15SYd/bhpQueF89L4e7dfsgu6fwYTvtTDEXs3Hca7j0FJ/cccTzb3i8rybY4fQLedbvjPXdJ5ffLB1qyv8XcmH07yIOyNfnMvUS5paY2t2mwtZLGWJY/dJCHLqHzEDlh1ZdKONaDDzwAT9znuDLU9qzMIbCXFgAvX3D88EXP93/mef0SVPFsljXtgrme5rjnNnjifsfjZ+CeW0VHiDVVZiqNveywE7vCffYzKUTapcY2jCfSOdesoEUNcnoWVtb5rJeEvkpdNrMV3qyG+lBJu94FHilD/MAd8L5fddx9M/z9f3hef6c7gSutTnDmNvjsb0Z84v2SyWhx2DbP4522mfeBxS8iMRxC5IOM5mbYHbG6/sFOBlOW7WWxofJQWiOODis0clA6UWo+/rjjrX3HN5+teOuqHnOdO2glSCkNNT70SMQnf11aAgw0sa2tK3ZUXI1m7b5rpmlRSUaH67V8lilYae9Cqw5v3Ve6YLQgfPtEgtJDNhTOcftJ+L0n4BcXHP/0Ez/K/pyHrBRHy/vvc3z4USHu1aHsoK5FyucqhnQn8oGKq85iR7HSoJ9l/fXi8Qpz64JDNUtt3PWuW+He045j/dBPaeqEeiFsqS1t3ntGFKt9DayvoqS+uSudE+Uvce1992aHF+V8d+QsrDyqm0TjLXU2AXOgZIXswJv2ghvUoi4j16gPNb9GiQtOTw+oy2hV6zJy4TjPbk8Lky9grxfafa5Nw61JrKW9bBqLcT6s5VGvG8YxTuzIRL51RXbPXr+WnOCDCVJ5uHBVFsHdx5TrsBriekJDEzNtQLhCRehi02ZaRo6XAopENfoOWEtehnNSdmlTBUqdC2GzB++SV1YK6/2Nex33n3bkWlQ1cvDIu+DBO+Q7vRQ+cH/Emdscme2SJRekEcUxbqtaTnM/CZ/pctGyY/ACmN03aVmUlSgsebWmlTSBSIuA/++bcPYV4SQP3SW2bapdtJ2y7p+9Di+8JhrqQ78Cd98Sao6sjEVHQsz+RC8or8dP2qbe1JuJ7DRUGJyBc2slMGiv3InupeuCR/zSu72gdWZlaI0LQTHb6wdHQmbtcxe0XesYHbclsOp+crj9blWFchnzmIYpq3s9EX0dxji7MdYqkCawiyg78/oGLwvzcA2LYMNawKB+W3MJ5iXgQwe1ZYZm54gsCcJ0gpKwU+snFCKtilAxv0KgdUWLF2j7s3YCg/ZKQFsEbKC2Vl5Anfs13W/sMzP83m1hjh4zrwoL+CMvi3nv1AIJkRM37YG+P6mQmtJnrL6N73kScwlsfXkTjXcuCpNDBwN1Z66RX7dZQKtYZB5G3c766fhZ6RRIa53TfRRcmfX2u3WiD4txTmLEHSlmE3K8VH0hYrrdPpXApfbRs6bOscqSZUom9WJw6gZcVWevaw2H9h2eCPHFQGwH6DNJu/EOfK39rhHZ2HUcheLfECJGaRI+6zWeXq+ZZU0004Zd3khga8gxyGVQALnGR/fccl6eVLuQHVhpphWwx2uJJJmdltNX5Wo/lz5IhZc295MNoSPzAtbi0KNu6ApLshvWzDlHWBBpqSWt6tdtGpT1TQJGyV4O2c2rqM0RR6rpWt2JFZomm4KNN64pVtPQS6SIq/VpSuLpyqbTDRRHhxf+0BqkEGhC7f9ck+Lr3HHqDvbI7h05gVyQOatAHImCkUUaR77OKGyOinoUaRZ6ymZLrztMd2OEcLV5OkHpQ5ZmNKkPuWBB5IW2Y1DCNe7gVPOc6gM3m25VfW0hBCeO9UOq6LU+KVF3V7ZxXRalnMZvA2uvF6vnbX8o5qMpXzPv08KUa/KONe7gRB3klpxeV9UXDVvNgvVpyrQWY1GLKW9aPpsPOY7ENZiVmnjXMBZbkFkh4287N94LOy0rqCLwqovUFa+xz+t32sQbJ9+eOiTzl5osTie0uVUjimBH5VNehBQaD6MgwToxarGe1uqDxRAVssPqSk0dFsk60MzJNkS2zJWy0k5zGvXCaU2Oyc8Tnn9e8KbVDjb0ahriphLTk0jMizQOnV4sFGrEXofm7fXedVvW/L8mLzUX8BAc4fzutFyqSfSTkL9Vuvnzm0TqO5ghDpo2+Nz1tg7C1u28afdMVOOslJ0ZsUfXmPzO6oc5GsuO5iWbMtikhox2ciZpNvP8BQ7d7SqP42h2/lWsnrJ6GtEhmat2c/3eG3FV1lGvedyPZxcvNQM+riXXFyoTrYlmfdkuQ2TnRJEZ5odLF4GwbfMPTBOFlno7LDT7scWAenHtRMM8c0tj1sOaKTQqpeGgp+Zn3dmxMQJbclumPlmP7Igd2jnR7cSdreKiCoT2Ppgr5vSvr/IRZrB2MzMsMDAZ/XHUXIoNtmj9g6UqUFFLr199IYycHIcGH/QURzCZTD5bf+RWnqx1wNJjCw+7iUzQwVCN+g7uT2PfSRwIawfaSi+xXrPjJ/n4PIeKydKDLMjfOpEjF0o7DqfJ5CWcNqWXfLDKT2/2aQutl4QQaD31aBIbI7CFu/JK7UYf7OpFWeuIhSOKjRHVzIqx1rLokc6q1uxxyjV9FZLP+5MnDEwmI6k3TYl9xm06w4s7s7SAxIyPRq4Vh3AJsLHCwJZtmRVhNyyT8zsJp/+40S/j8B5SLzLS2OzkJDrkj6WG+3rx4Z3h0PNDbry3silOkzu/LSKnA6r1iFwSPgGuruRSLWA7wnbtQqt8yfvHTuUrgc1O04phukJlmRqxCxG3KBqPCbeBLSRfEQ7TUavca/I1mjKQ2RgkwHngPZ2/uiDa2onrRFQj8qAIqTpNnqpZc2per2V8BZWXir25Zbu44GCqirAg/WKi7PUI+DnjCRC/FDA/+E46npBucjyJ2wUB7FqL+guiSKJqO70QkAA97a/KVNIgJlogB16IgKeB1xYb3vUNI/KuHvIyLpho069lD361QaxK27GejCPWQexoEGavtzDHew14OgK+BfxkhWO+rmCK0W5PJnQ0qRt0AZktO9qlVVhsS3gSzwLfioDngH8ALi83zOsblhpjLPFaIY0PO1kWwBWEpmdN3/si8PnlhrbFsjDlb7e/dNz988AXIFgIbwF/BXx1qctucRTwNeAvEZqOmYDPAn+OyOQtrk98C6Hhs/YH5w+7TJ4A/gj4feDUxoa2xTI4D/wd8DfA9+tvNBEY4CTwFPAZ4L3A3UCv6YNbXDNkwCvAj4EvIXrUpckPTSOw4WHgo8CTwIPAaeSo0RbXDgfAG8ALwHcRtvzctA//P/K5CTIIB1t7AAAAAElFTkSuQmCC";
/* script */
-const __vue_script__$59 = script$59;
-var __vue_render__$59 = function () {
+const __vue_script__$53 = script$53;
+var __vue_render__$53 = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -79046,10 +79169,11 @@ var __vue_render__$59 = function () {
height: "600",
src:
item.uploadFileUrl.indexOf(".epub") !== -1
- ? "epubjs/index.html#/epub-read?flow=scrolled&bookPath=" +
+ ? "/static/epubjs/index.html#/epub-read?flow=scrolled&bookPath=" +
item.uploadFileUrl
: item.uploadFileUrl.indexOf(".pdf") !== -1
- ? "/pdfjs/web/viewer.html?file=" + item.uploadFileUrl
+ ? "/static/pdfjs/web/viewer.html?file=" +
+ item.uploadFileUrl
: item.uploadFileUrl,
frameborder: "0",
},
@@ -79200,17 +79324,17 @@ var __vue_render__$59 = function () {
1
)
};
-var __vue_staticRenderFns__$59 = [];
-__vue_render__$59._withStripped = true;
+var __vue_staticRenderFns__$53 = [];
+__vue_render__$53._withStripped = true;
/* style */
- const __vue_inject_styles__$59 = undefined;
+ const __vue_inject_styles__$53 = undefined;
/* scoped */
- const __vue_scope_id__$59 = "data-v-9aae5a66";
+ const __vue_scope_id__$53 = "data-v-4640bc87";
/* module identifier */
- const __vue_module_identifier__$59 = undefined;
+ const __vue_module_identifier__$53 = undefined;
/* functional template */
- const __vue_is_functional_template__$59 = false;
+ const __vue_is_functional_template__$53 = false;
/* style inject */
/* style inject SSR */
@@ -79219,23 +79343,23 @@ __vue_render__$59._withStripped = true;
- const __vue_component__$59 = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$59, staticRenderFns: __vue_staticRenderFns__$59 },
- __vue_inject_styles__$59,
- __vue_script__$59,
- __vue_scope_id__$59,
- __vue_is_functional_template__$59,
- __vue_module_identifier__$59,
+ const __vue_component__$53 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$53, staticRenderFns: __vue_staticRenderFns__$53 },
+ __vue_inject_styles__$53,
+ __vue_script__$53,
+ __vue_scope_id__$53,
+ __vue_is_functional_template__$53,
+ __vue_module_identifier__$53,
false,
undefined,
undefined,
undefined
);
-__vue_component__$59.install = (Vue, options = {}) => {
+__vue_component__$53.install = (Vue, options = {}) => {
Vue.component(createNamespace$1('ebook-render', {
prefix: options.prefix
- }), __vue_component__$59);
+ }), __vue_component__$53);
};
//
@@ -79265,7 +79389,7 @@ __vue_component__$59.install = (Vue, options = {}) => {
//
// import { Player, Video, Ui, ClickToPlay, Skeleton, Controls, ScrubberControl } from '@vime/vue'
-var script$58 = {
+var script$52 = {
name: 'VmPlayer',
// components: { Player, Video, Ui, ClickToPlay, Skeleton, Controls, ScrubberControl },
props: {
@@ -79307,10 +79431,10 @@ var script$58 = {
};
/* script */
-const __vue_script__$58 = script$58;
+const __vue_script__$52 = script$52;
/* template */
-var __vue_render__$58 = function () {
+var __vue_render__$52 = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -79356,17 +79480,17 @@ var __vue_render__$58 = function () {
1
)
};
-var __vue_staticRenderFns__$58 = [];
-__vue_render__$58._withStripped = true;
+var __vue_staticRenderFns__$52 = [];
+__vue_render__$52._withStripped = true;
/* style */
- const __vue_inject_styles__$58 = undefined;
+ const __vue_inject_styles__$52 = undefined;
/* scoped */
- const __vue_scope_id__$58 = undefined;
+ const __vue_scope_id__$52 = undefined;
/* module identifier */
- const __vue_module_identifier__$58 = undefined;
+ const __vue_module_identifier__$52 = undefined;
/* functional template */
- const __vue_is_functional_template__$58 = false;
+ const __vue_is_functional_template__$52 = false;
/* style inject */
/* style inject SSR */
@@ -79375,13 +79499,13 @@ __vue_render__$58._withStripped = true;
- const __vue_component__$58 = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$58, staticRenderFns: __vue_staticRenderFns__$58 },
- __vue_inject_styles__$58,
- __vue_script__$58,
- __vue_scope_id__$58,
- __vue_is_functional_template__$58,
- __vue_module_identifier__$58,
+ const __vue_component__$52 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$52, staticRenderFns: __vue_staticRenderFns__$52 },
+ __vue_inject_styles__$52,
+ __vue_script__$52,
+ __vue_scope_id__$52,
+ __vue_is_functional_template__$52,
+ __vue_module_identifier__$52,
false,
undefined,
undefined,
@@ -79389,10 +79513,10 @@ __vue_render__$58._withStripped = true;
);
//
-var script$57 = {
+var script$51 = {
name: 'VideoPlayer',
components: {
- VmPlayer: __vue_component__$58,
+ VmPlayer: __vue_component__$52,
videoPlayer: VueVideoPlayer.videoPlayer
},
props: {
@@ -79887,10 +80011,10 @@ var script$57 = {
};
/* script */
-const __vue_script__$57 = script$57;
+const __vue_script__$51 = script$51;
/* template */
-var __vue_render__$57 = function () {
+var __vue_render__$51 = function () {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
@@ -79997,7 +80121,7 @@ var __vue_render__$57 = function () {
2
)
};
-var __vue_staticRenderFns__$57 = [
+var __vue_staticRenderFns__$51 = [
function () {
var _vm = this;
var _h = _vm.$createElement;
@@ -80009,16 +80133,16 @@ var __vue_staticRenderFns__$57 = [
])
},
];
-__vue_render__$57._withStripped = true;
+__vue_render__$51._withStripped = true;
/* style */
- const __vue_inject_styles__$57 = undefined;
+ const __vue_inject_styles__$51 = undefined;
/* scoped */
- const __vue_scope_id__$57 = undefined;
+ const __vue_scope_id__$51 = undefined;
/* module identifier */
- const __vue_module_identifier__$57 = undefined;
+ const __vue_module_identifier__$51 = undefined;
/* functional template */
- const __vue_is_functional_template__$57 = false;
+ const __vue_is_functional_template__$51 = false;
/* style inject */
/* style inject SSR */
@@ -80027,27 +80151,27 @@ __vue_render__$57._withStripped = true;
- const __vue_component__$57 = /*#__PURE__*/normalizeComponent(
- { render: __vue_render__$57, staticRenderFns: __vue_staticRenderFns__$57 },
- __vue_inject_styles__$57,
- __vue_script__$57,
- __vue_scope_id__$57,
- __vue_is_functional_template__$57,
- __vue_module_identifier__$57,
+ const __vue_component__$51 = /*#__PURE__*/normalizeComponent(
+ { render: __vue_render__$51, staticRenderFns: __vue_staticRenderFns__$51 },
+ __vue_inject_styles__$51,
+ __vue_script__$51,
+ __vue_scope_id__$51,
+ __vue_is_functional_template__$51,
+ __vue_module_identifier__$51,
false,
undefined,
undefined,
undefined
);
-var playIcon$3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHIAAAByCAMAAAC4A3VPAAAAAXNSR0IArs4c6QAAAZtQTFRFAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////LHKW/AAAAIl0Uk5TAAECAwQFBgcICQoLDQ4PEBESExQVFhcYGRwdHh8gISIjJCUmJygpKistLi8wMTIzNDU2Nzg6Ozw9Pj9AQUJFRkdJS0xOUFFSVFVYWV9gYWJjZWZnaWprbG1ub3BydHZ3eHl7fH1+gIGCg4SFhoeIiouMjo+QkpOUlZaYmZqbnJ2en6ChoqOkpabH29nvAAADgElEQVRo3u2a+0MSQRDHB4/CEiFLwtJMkx6+DSuTqAw1Lcm0q4jKB6VSQRi+34Qc3fzZ/eAdcnDAcne7/nLfH29n9nO3LLOzOwtgypQpU6bOTJa+aHL6Kpmt1R9PvrTrRj5HRNwj6odbRERcsehF7iMiotBa2dK2ISIiigM6iTY8UcpbydKZkExf6P3KpNTR8aPydu6YZCg06UXeS0ldZQfLmTVsS2bilP4pew3lzoZLGznSaNSwAgC4cx8wXsqk40AeCr/FkL+m+4/8Ca/VDbqOpPb0U6PCgXNdZn7gVJrvZGTiQ+NC0EV54MRI8cD1ZuUX8hgZ9mwrcreL1oKmZ6LUcthmbKg9Nyczl22KhjGZuHlDcxh3NHsDwbdFmpWRuJv/+EvucaTYJxjwNjsqTuHWWEZEI5X51VIWeGkpi4Yru+QsTXycQSpKPShFDCA1+dSJXqSom6prwV+ayJTK72lLIFVFikOlHylrsESOQ1Ex1USOqsSuAuQ36kj8XIA8oo9cUxLb6RMxo0ROMECicnWbI3FZ7Xb3f/2nHflEgVwhcXEBAPQmNSOVyVqUxEWKH8+0LnAfq0fKxvVvtCE/aUcCtEVE1kgA3zpzJEBQEFkjwbXMHAkwkGCOBOvkAWskgGU+yxoJltY11kgAzr/DGglw4V2aNRLAvimyRkJNzz5rJIB9UmCNBHCEBdZIgPY9kTUS7GnmyLIpOCVkP3Mkt8EcGWI9fTp/MP6TuPgs21BgC7AOeH3bIltk86LIdvFyTgnIdL209pOeiRmF7NglzqCNQTbMC4gskfWvqtr36UdyPdXkzUYgm7YYb4Pq3ld/dqsLaRs5ZLultXg2Ddi4E52ISLUALq7xICakQC6QuNgBAGqDadSoaQVylsRljINa35b2o6ZRZRWJyGd7DvVIWRJzMzjCyxbUhfaYH47CPH1kuADpo3/QfbdwVdihjVwqWoiGaSN7ipDn43SJIZU6pjNFk7iverHlPkWicJl1MfHwVqmEdJhSyTR2vXTW3RinUBg+DlnL7mY8G0YTo1cq7RFrXLd9k7M8z/N5+VuCJ1I4P7zxPD8zPuRpqOaGQejUf4TMg8vLo+u0XGpoy+UbGdJXPV0cYtouUvyU/WdIPbpyU0br/ZfvJ/5TVmKX7pMZf9Si+f7LUPh3NNhZU821q4nI6sJoo3ll0pQpU6bORv8BFtxQhtIU9fkAAAAASUVORK5CYII=";
+var playIcon$2 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHIAAAByCAMAAAC4A3VPAAAAAXNSR0IArs4c6QAAAZtQTFRFAAAA////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////LHKW/AAAAIl0Uk5TAAECAwQFBgcICQoLDQ4PEBESExQVFhcYGRwdHh8gISIjJCUmJygpKistLi8wMTIzNDU2Nzg6Ozw9Pj9AQUJFRkdJS0xOUFFSVFVYWV9gYWJjZWZnaWprbG1ub3BydHZ3eHl7fH1+gIGCg4SFhoeIiouMjo+QkpOUlZaYmZqbnJ2en6ChoqOkpabH29nvAAADgElEQVRo3u2a+0MSQRDHB4/CEiFLwtJMkx6+DSuTqAw1Lcm0q4jKB6VSQRi+34Qc3fzZ/eAdcnDAcne7/nLfH29n9nO3LLOzOwtgypQpU6bOTJa+aHL6Kpmt1R9PvrTrRj5HRNwj6odbRERcsehF7iMiotBa2dK2ISIiigM6iTY8UcpbydKZkExf6P3KpNTR8aPydu6YZCg06UXeS0ldZQfLmTVsS2bilP4pew3lzoZLGznSaNSwAgC4cx8wXsqk40AeCr/FkL+m+4/8Ca/VDbqOpPb0U6PCgXNdZn7gVJrvZGTiQ+NC0EV54MRI8cD1ZuUX8hgZ9mwrcreL1oKmZ6LUcthmbKg9Nyczl22KhjGZuHlDcxh3NHsDwbdFmpWRuJv/+EvucaTYJxjwNjsqTuHWWEZEI5X51VIWeGkpi4Yru+QsTXycQSpKPShFDCA1+dSJXqSom6prwV+ayJTK72lLIFVFikOlHylrsESOQ1Ex1USOqsSuAuQ36kj8XIA8oo9cUxLb6RMxo0ROMECicnWbI3FZ7Xb3f/2nHflEgVwhcXEBAPQmNSOVyVqUxEWKH8+0LnAfq0fKxvVvtCE/aUcCtEVE1kgA3zpzJEBQEFkjwbXMHAkwkGCOBOvkAWskgGU+yxoJltY11kgAzr/DGglw4V2aNRLAvimyRkJNzz5rJIB9UmCNBHCEBdZIgPY9kTUS7GnmyLIpOCVkP3Mkt8EcGWI9fTp/MP6TuPgs21BgC7AOeH3bIltk86LIdvFyTgnIdL209pOeiRmF7NglzqCNQTbMC4gskfWvqtr36UdyPdXkzUYgm7YYb4Pq3ld/dqsLaRs5ZLultXg2Ddi4E52ISLUALq7xICakQC6QuNgBAGqDadSoaQVylsRljINa35b2o6ZRZRWJyGd7DvVIWRJzMzjCyxbUhfaYH47CPH1kuADpo3/QfbdwVdihjVwqWoiGaSN7ipDn43SJIZU6pjNFk7iverHlPkWicJl1MfHwVqmEdJhSyTR2vXTW3RinUBg+DlnL7mY8G0YTo1cq7RFrXLd9k7M8z/N5+VuCJ1I4P7zxPD8zPuRpqOaGQejUf4TMg8vLo+u0XGpoy+UbGdJXPV0cYtouUvyU/WdIPbpyU0br/ZfvJ/5TVmKX7pMZf9Si+f7LUPh3NNhZU821q4nI6sJoo3ll0pQpU6bORv8BFtxQhtIU9fkAAAAASUVORK5CYII=";
var titleLeftIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAAuCAYAAABjwOorAAAAAXNSR0IArs4c6QAABQ1JREFUaEPtWGtsk1UYft7TbmtBmOCFAHJryy0aYyJB4w8CatQfGo0LxsREQ2IwUYOoWceQyweBQiFozJQfmKi/xAsEjDEKiZj4A/+oIUGNhrZOLgqKMOSySdv3Medr6751q2xdRwfpyf4s5z19n+c87+18gqt0yVXKCzViV5qyNcVqig2TG6iF4jARot8wylbsJodjAw2YQsCU8pYF/moP4wgek2y/EVXIsGxioY2cbATrhBhfGot+pzRvJVslUSG8/f6ZsonhQ/oi7VglyuWUEo2eOEbq+uRY3zt4RtL9RlUBw/KJAZjxKidqmu8BuKNPLIQC3KXGOKmoHPLahONcIIq5vc4Z/JboxHY4khkMv0ERs46nxLmgTvkugLF9AhEcp8i65AVsxxq5WLAJbeJ0n3IvBZN6nCPOwCcPJprl66oSw0L6QrejWcCoBSI2LIn8H2yMksJPFen1v7QEfvaCDcUzi3xq2uiadS8K9iSXSRMgLJfcoBWzjm0hAfiGIe6U/C/S0mOOJAQnCVmbPIZdaJN//gPr0ESCiJFcbC+E9oRlKaAaWZyKys6qEoNDE27AfDF8XYgxxWBy1849MCaWiErSuz9l/fnxdSa4HYKZlpBrSSuVfJ/twsJ2RzrKIVcRxazjG1bzmsYReFrIJVoUWi4wwVmBrEUQnySWeFSzisc5xyg/gKe6ElDxycuJZvm4qsQASmgTIiarqygy1xta3RnELwkTSy2Tw8Vgbb4JzFIh/J6945kGaWp/ceCqVUwxF8xi1oXCmCfgagHGuDlWyLUc2k5A1tZ3Ys+PngppN8Zt5shRqm1QuTWvsE02Evp+ssW3ZaCqVZYYgKmv8Vp/Gk9AuUi8Iel6sqmDby+m4fz6ivxeDDa8jpNMPd+EojFPzhaTU5qRF5Ir5MhAyFWcmA3JSAyzYfC8CG/zgnELH5khJJZIYR+29Z5GbOM24FIq6gvkhLr7UKt/W5WJAXDoj4zI3A34nhXkb9+DSsmf0mqWH26V073AOvSHA7rUwHinkqwSKwcycw6BYjmoNiTrLuJxAR92G7ANwsKy/2Vky6ED2IePek/+EYejEdAWMZiALAQ+EGp+4Ai0FVfUUioOGTGXXIyz/KJPQmR2D2K5dDvaIab1ZIuc7QvczM2cllU8B2rANnsBMirpralooMfMWRViucaduU+MvwnE6GIQKtiWapEv+gTn0ITqsw8Yn8wr7BPmaLITW+GIXirfhlQx63zyBo4JAE00ehcBv533C09TEXMifQEr2x3pKkVuehBPKTChcIppfJZaId9UnZgFMCPGWerHI0Kdln9xdw+3YnYkorK3FNCJMV4XMHhUBCOtDYHT5wx2nGiW8/9HbsgVc507NNODuIfAAqiOoi0G+WUUZzo6TfzPNXKuFNBpcc6s09zzJmNAMTiYbJY/qk8s9wJoNMBDgN5M02NsAmk+L5lrl4q5EvuXR7G88/AGRkRwP0XH5apk/jsQ0ZEG3u6zr10JxNypZBPmkZgDIFBoASJut9qfiOKrwTwuvXdwWRWzjq+Pc1Sj4l4BptK2XrengaI43dWA3UdfklNlitTj2GUnZr3bYVfqMJ+ecYuKjBAHk8uxvxKqVYWY+3bbiFuQxY1+kxu17CcpfxZ/+9M4UPykKUfBKhEDsJr1oSCC2tU9Q/oBTQAXBvvpLRfdV+mqEbvShK0pVlNsmNxALRSHiRD9hlFTrN9XNUwM/wU+QeA+cB9fBQAAAABJRU5ErkJggg==";
var titleRightIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAAuCAYAAABjwOorAAAAAXNSR0IArs4c6QAABSNJREFUaEPtWEtslFUU/r77Tx9TmphqEHkUCp0GA0YN6soQE1e6kBijBInESAwFFFQS+kQZCNBSRCS6UeMGN6aAQlxQEhIIMS58kZCoCDMtYEuqAgWF0k7/uZ/5pw9m+rAz06EFMrO8c8893+Pcc88McZd+eJfyQpbYneZs1rGsY7eJAtlSvE2MSBrGxDj2iXLKLmI+cjBjJKTWItrt4mTrBrYlzSZu44QQm12vR3ywb0NmwUig5aBFxIrwev51RxArCSrfl29XA6wEce8IoCXDN8LX8TmCtBNETCzejql+i/zBADrzcKV1HS/HrwcatEBWmwk8DYww+Rh95cis/L2S/6ZDyosZcynO2KLpfh++lFScAILohlgequax/vUZH8if5+J1WFUTKBwOtIQLrstnz73LlnRJZYRYaX20nOBuMFEkAU3XDJf+uZ7X+wEGGiILYH1BAE8m3HNPXkEgBHBlqBL7AWrCiM2sU1GO0Q+0mBIPQsBFkU81V/F8//q0oAry8/GqkWpB5MSoMAY/VjUeCyvtu+4zFfFipEsu/VIMygT89j1YvtmrNEgCErqt4drmCu6PBzV7hx52rLYCeHS4pAIuRHu4uGUDz6VLJj4ubWJz6jXTQHsJTE90S0e7cs2K1nW80b8+ZYcmFUaxFFBVTIK+T28FAgaIiKwK3cAhbGJkQokFtkdXS1w3SKVLcvlieAP/uLkuBuoxD4i5NTe2HvMXkHcvBRfigS5hV1sNL2WCVNrNY9ZWTc119LUSO1tEYG24iofiwU3eqMKiSVgiac2wXRA8DUWCoarcX8faMMZWii/JKXvCVgNmkaxuljL1bVe7qWnddbMEPU9KtmFujtEWGM6EjTW/gRgCVy35cXc7DifGjd23lO9Y7G5RuwkUxaW/2kOWn61gezwkrxP6/dFXDMyywVAF9FBs6jHYMzhu7LTSeKDL6twVonm+t1kDNIhY8MNwJY8mAhLnNCDgyG4CeP8QYuSpqO35rKUq52QmSzC+MSUt0Oz3NcvnYhuA3P4gwZ5Am9kZ+ojdCQdtVG6Z374GcdFQUroMmMauXByJ755JA0liY/Kl2CinrBmrZezjiIJwIETxD2Q2h2r49+BcpXUKGIMaCPckPAeyPTDmuAz2pTu5J8Er+VmxdKeK6dq3QBR487YFXNHsaa7kj8MlCtRrFWkXxr7z5nPjtXkjyIatdRvDtbm/3IoSTLkUS+u1BMY+NhAonQp1Ol8M96B6btHYdwj4+96t2ItF4YqFPYw237EhpZuMDSnsSaoUS+pU4hgsI+B48lOms6cLn54N8sqQXBIDDXYViIcGRIiC1piIsTjRDRw8X82OFDCmtXV0YkH5Avl4QcSsWBe0cGnQdKaSvw2XsWSbHnQcu5yEb6AMvSoU2uiYA6EKhtNCmmLQqMRKGvSAY/EceydyMIrzZyJoQpDukFzeYFyA5bC2NKFhENccmuOnS/AdFjOaIsa0to9KbN5GFXbGjU6++9ARWjuotfelDtRrPoRFMP3PgYVoPCJnop04eDbIrrRQphE0KrGkz2yUE2jGywKmse9HJ70eCHREDb65FdPF/2HLGLHAZs1nHhYKvf990JvbhW65+D5Uy5+TFihDGzNDLChfWQGekRJ/SVuhvfknNGHv+NyreE0yQiywRnluMYp8nX2d0HuPfdC1yei4UM7ODJmQ0jEZIZZSxnHanCU2TkJnLE3WsYxJOU4HZR0bJ6EzlibrWMakHKeDso6Nk9AZS/Mf+LvuPmZJ/LcAAAAASUVORK5CYII=";
//
-var script$56 = {
+var script$50 = {
name: 'VideoModalPlayer',
components: {
videoPlayer: VueVideoPlayer.videoPlayer
@@ -80104,7 +80228,7 @@ var script$56 = {
},
data() {
return {
- playIcon: playIcon$3,
+ playIcon: playIcon$2,
titleLeftIcon,
titleRightIcon,
// 用于存放