Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
Merge pull request #6696 from matrix-org/travis/ff-voice
Browse files Browse the repository at this point in the history
Always trigger the first amplitude capture from the worklet
  • Loading branch information
turt2live authored Aug 27, 2021
2 parents bbeda37 + 289b1c5 commit cd1610e
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/audio/RecorderWorklet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,13 @@ class MxVoiceWorklet extends AudioWorkletProcessor {

process(inputs, outputs, parameters) {
const currentSecond = roundTimeToTargetFreq(currentTime);
if (currentSecond === this.nextAmplitudeSecond) {
// We special case the first ping because there's a fairly good chance that we'll miss the zeroth
// update. Firefox for instance takes 0.06 seconds (roughly) to call this function for the first
// time. Edge and Chrome occasionally lag behind too, but for the most part are on time.
//
// When this doesn't work properly we end up producing a waveform of nulls and no live preview
// of the recorded message.
if (currentSecond === this.nextAmplitudeSecond || this.nextAmplitudeSecond === 0) {
// We're expecting exactly one mono input source, so just grab the very first frame of
// samples for the analysis.
const monoChan = inputs[0][0];
Expand Down

0 comments on commit cd1610e

Please sign in to comment.