Open tassoevan opened 1 week ago
Latest commit: 3764a5730fe790c1c0db0220a94d574e3fd23c35
The changes in this PR will be included in the next version bump.
Not sure what this means? Click here to learn what changesets are.
Click here if you're a maintainer who wants to add another changeset to this PR
Proposed changes (including videos or screenshots)
It suppresses assertions at the LAME encoding due to unknown
NaN
values.Issue(s)
Further comments
This is the original
assert
function: https://github.com/zhuker/lamejs/blob/090eaa9b7e90abb81939145f13be2bdcd06ac5e6/src/js/common.js#L148-L150During investigation, the input buffers showed a small segment of
NaN
values instead of the expected typed Float32 numbers. It couldn't be determined where they are allocated, because they seen to exist prior to theflush
call. Since there is noasync
function or callbacks at play (as the original code was transpiled from single-threaded Java code), the hypothesis ofmessage
events out of sync at the worker thread can be disregarded. One interesting thing to note is that when using a external microphone instead of Macbook's built-in microphone did not generated theNaN
values; it might indicate a bug with the channel enumeration.