Filter out samples outside of [-1, 1] from the APM when running in the audio service. |
|||||
Issue descriptionThe APM will DCHECK pretty quickly if the renderer sends some NaN over as reference signal. We said we would filter them, but then we forgot to :).
,
Sep 10
As noted on the CL, I think this should be done at the APM interface unless we plan to do this for everything coming to the browser process (and then remove the AudioBus interleave checks).
,
Sep 11
Ah, now I see https://cs.chromium.org/chromium/src/media/base/audio_sample_types.h?type=cs&sq=package:chromium&g=0&l=63, which implements what I implemented again :). If we also sanitize before handing the data over to the OS, it would make sense to sanitize it as early as possible to avoid doing it multiple times. This reasoning is also applicable to the APM, since a single output stream may be reference to several input streams. Doing the sanitation in AudioOutputController ensures we only have to do it once for all the APMs we feed the stream to. WDYT about me moving the clipping/cleaning to AudioSyncReader and removing it from the ToInterleaved? Maybe it's still needed when calling ToInterleaved in the renderer (haven't checked the call sites), so it takes a bool or there are several methods like ToInterleaved/ToInterleavedWithClipping?
,
Sep 12
CC Dale in case you didn't get a mail for that comment.
,
Sep 12
Yeah that sgtm, though care must be taken on how to do it in the implementation to not introduce slowdown in ToInterleaved. There's an AudioBus perftest to measure that.
,
Sep 14
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/13ecd0d3640000
,
Sep 15
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/13ecd0d3640000 All of the runs failed. The most common error (1/20 runs) was: IOError: [Errno 2] No such file or directory: '/b/s/w/it7IAewP/tmpwbU7OOtelemetry/histograms.json'
,
Oct 22
,
Dec 6
,
Dec 10
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by bugdroid1@chromium.org
, Sep 10