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,
GraphTime aFrom,
Span<const AudioBlock> aInput,
Span<AudioBlock> aOutput,
bool* aFinished) {

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

@ -324,7 +324,7 @@ class AudioNodeEngine {
* The numbers of AudioBlocks in aInput and aOutput are always guaranteed to
* 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<AudioBlock> aOutput, bool* aFinished);

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

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

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

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

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

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

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

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