fix(bounce): offline render qua native bridge — bỏ gap realtime, thêm headroom, strip DIAG
This commit is contained in:
@@ -15,9 +15,6 @@
|
||||
var _workletNode = null;
|
||||
var _ctx = null;
|
||||
var _initialized = false;
|
||||
var _frames = 0;
|
||||
var _peak = 0;
|
||||
var _lastDiag = 0;
|
||||
var _useWorklet = false;
|
||||
var _dest = null; // destination gain node da noi (chong connect trung)
|
||||
|
||||
@@ -103,18 +100,7 @@
|
||||
|
||||
function onAudio(l, r) {
|
||||
if (!_initialized) init();
|
||||
if (!window.__baeAt || Date.now() - window.__baeAt >= 1000) { window.__baeAt = Date.now(); if (window.__sfDiag) window.__sfDiag('BRIDGE_AUDIO_ENTER len=' + (l ? l.length : -1)); }
|
||||
var blk = { l: new Float32Array(l), r: new Float32Array(r) };
|
||||
_frames = (_frames || 0) + blk.l.length;
|
||||
for (var _i = 0; _i < blk.l.length; _i++) {
|
||||
var _a = Math.abs(blk.l[_i]); if (_a > (_peak || 0)) _peak = _a;
|
||||
var _b = Math.abs(blk.r[_i]); if (_b > (_peak || 0)) _peak = _b;
|
||||
}
|
||||
if (!_lastDiag || Date.now() - _lastDiag >= 1000) {
|
||||
_lastDiag = Date.now();
|
||||
if (window.__sfDiag) window.__sfDiag("BRIDGE_AUDIO frames=" + _frames + " peak=" + (_peak ? (20 * Math.log10(_peak)).toFixed(1) : "-inf") + "dB path=" + (_useWorklet ? "worklet" : (_preBuffer.length ? "preBuffer" : "chunks")));
|
||||
_peak = 0;
|
||||
}
|
||||
if (_useWorklet && _workletNode) {
|
||||
_workletNode.port.postMessage({ type: 'audio', l: blk.l, r: blk.r });
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user