Bug 1598114 - Pass the graph time to ProcessBlockOnPorts. r=karlt

This is necessary to then compute AudioParam values for the right time.

Differential Revision: https://phabricator.services.mozilla.com/D63352

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Paul Adenot 2020-03-04 15:21:28 +00:00
Родитель ebe89c5caa
Коммит 3902b2f19e
6 изменённых файлов: 9 добавлений и 6 удалений

Просмотреть файл

@ -382,6 +382,7 @@ void AudioNodeEngine::ProcessBlock(AudioNodeTrack* aTrack, GraphTime aFrom,
} }
void AudioNodeEngine::ProcessBlocksOnPorts(AudioNodeTrack* aTrack, void AudioNodeEngine::ProcessBlocksOnPorts(AudioNodeTrack* aTrack,
GraphTime aFrom,
Span<const AudioBlock> aInput, Span<const AudioBlock> aInput,
Span<AudioBlock> aOutput, Span<AudioBlock> aOutput,
bool* aFinished) { bool* aFinished) {

Просмотреть файл

@ -324,7 +324,7 @@ class AudioNodeEngine {
* The numbers of AudioBlocks in aInput and aOutput are always guaranteed to * The numbers of AudioBlocks in aInput and aOutput are always guaranteed to
* match the numbers of inputs and outputs for the node. * match the numbers of inputs and outputs for the node.
*/ */
virtual void ProcessBlocksOnPorts(AudioNodeTrack* aTrack, virtual void ProcessBlocksOnPorts(AudioNodeTrack* aTrack, GraphTime aFrom,
Span<const AudioBlock> aInput, Span<const AudioBlock> aInput,
Span<AudioBlock> aOutput, bool* aFinished); Span<AudioBlock> aOutput, bool* aFinished);

Просмотреть файл

@ -523,7 +523,8 @@ void AudioNodeTrack::ProcessInput(GraphTime aFrom, GraphTime aTo,
&finished); &finished);
} else { } else {
mEngine->ProcessBlocksOnPorts( mEngine->ProcessBlocksOnPorts(
this, MakeSpan(mInputChunks.Elements(), mEngine->InputCount()), this, aFrom,
MakeSpan(mInputChunks.Elements(), mEngine->InputCount()),
MakeSpan(mLastChunks.Elements(), mEngine->OutputCount()), MakeSpan(mLastChunks.Elements(), mEngine->OutputCount()),
&finished); &finished);
} }

Просмотреть файл

@ -41,11 +41,11 @@ class WorkletNodeEngine final : public AudioNodeEngine {
bool* aFinished) override { bool* aFinished) override {
MOZ_ASSERT(InputCount() <= 1); MOZ_ASSERT(InputCount() <= 1);
MOZ_ASSERT(OutputCount() <= 1); MOZ_ASSERT(OutputCount() <= 1);
ProcessBlocksOnPorts(aTrack, MakeSpan(&aInput, InputCount()), ProcessBlocksOnPorts(aTrack, aFrom, MakeSpan(&aInput, InputCount()),
MakeSpan(aOutput, OutputCount()), aFinished); MakeSpan(aOutput, OutputCount()), aFinished);
} }
void ProcessBlocksOnPorts(AudioNodeTrack* aTrack, void ProcessBlocksOnPorts(AudioNodeTrack* aTrack, GraphTime aFrom,
Span<const AudioBlock> aInput, Span<const AudioBlock> aInput,
Span<AudioBlock> aOutput, bool* aFinished) override; Span<AudioBlock> aOutput, bool* aFinished) override;
@ -307,6 +307,7 @@ void WorkletNodeEngine::ProduceSilence(AudioNodeTrack* aTrack,
} }
void WorkletNodeEngine::ProcessBlocksOnPorts(AudioNodeTrack* aTrack, void WorkletNodeEngine::ProcessBlocksOnPorts(AudioNodeTrack* aTrack,
GraphTime aFrom,
Span<const AudioBlock> aInput, Span<const AudioBlock> aInput,
Span<AudioBlock> aOutput, Span<AudioBlock> aOutput,
bool* aFinished) { bool* aFinished) {

Просмотреть файл

@ -20,7 +20,7 @@ class ChannelMergerNodeEngine final : public AudioNodeEngine {
MOZ_ASSERT(NS_IsMainThread()); MOZ_ASSERT(NS_IsMainThread());
} }
void ProcessBlocksOnPorts(AudioNodeTrack* aTrack, void ProcessBlocksOnPorts(AudioNodeTrack* aTrack, GraphTime aFrom,
Span<const AudioBlock> aInput, Span<const AudioBlock> aInput,
Span<AudioBlock> aOutput, Span<AudioBlock> aOutput,
bool* aFinished) override { bool* aFinished) override {

Просмотреть файл

@ -19,7 +19,7 @@ class ChannelSplitterNodeEngine final : public AudioNodeEngine {
MOZ_ASSERT(NS_IsMainThread()); MOZ_ASSERT(NS_IsMainThread());
} }
void ProcessBlocksOnPorts(AudioNodeTrack* aTrack, void ProcessBlocksOnPorts(AudioNodeTrack* aTrack, GraphTime aFrom,
Span<const AudioBlock> aInput, Span<const AudioBlock> aInput,
Span<AudioBlock> aOutput, Span<AudioBlock> aOutput,
bool* aFinished) override { bool* aFinished) override {