зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
ebe89c5caa
Коммит
3902b2f19e
|
@ -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 {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче