Bug 1300529 - Remove default arguments from AudioNodeStream::Create. r=padenot

MozReview-Commit-ID: KG8PtBbJrc2

--HG--
extra : rebase_source : 4be41a0dff23a62dfa43699a1e0ebd8c429b41b7
This commit is contained in:
Andreas Pehrson 2016-09-05 17:25:41 +02:00
parent c166a2bf07
commit 5c882b1fe8
20 changed files with 41 additions and 25 deletions

View File

@ -1006,7 +1006,7 @@ MediaRecorder::MediaRecorder(AudioNode& aSrcAudioNode,
AudioNodeStream::Flags flags =
AudioNodeStream::EXTERNAL_OUTPUT |
AudioNodeStream::NEED_MAIN_THREAD_FINISHED;
mPipeStream = AudioNodeStream::Create(ctx, engine, flags);
mPipeStream = AudioNodeStream::Create(ctx, engine, flags, ctx->Graph());
AudioNodeStream* ns = aSrcAudioNode.GetStream();
if (ns) {
mInputPort =

View File

@ -113,7 +113,8 @@ AnalyserNode::AnalyserNode(AudioContext* aContext)
{
mStream = AudioNodeStream::Create(aContext,
new AnalyserNodeEngine(this),
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
// Enough chunks must be recorded to handle the case of fftSize being
// increased to maximum immediately before getFloatTimeDomainData() is

View File

@ -602,7 +602,8 @@ AudioBufferSourceNode::AudioBufferSourceNode(AudioContext* aContext)
{
AudioBufferSourceNodeEngine* engine = new AudioBufferSourceNodeEngine(this, aContext->Destination());
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::NEED_MAIN_THREAD_FINISHED);
AudioNodeStream::NEED_MAIN_THREAD_FINISHED,
aContext->Graph());
engine->SetSourceStream(mStream);
mStream->AddMainThreadListener(this);
}

View File

@ -71,20 +71,20 @@ AudioNodeStream::Create(AudioContext* aCtx, AudioNodeEngine* aEngine,
Flags aFlags, MediaStreamGraph* aGraph)
{
MOZ_ASSERT(NS_IsMainThread());
MOZ_RELEASE_ASSERT(aGraph);
// MediaRecorders use an AudioNodeStream, but no AudioNode
AudioNode* node = aEngine->NodeMainThread();
MediaStreamGraph* graph = aGraph ? aGraph : aCtx->Graph();
RefPtr<AudioNodeStream> stream =
new AudioNodeStream(aEngine, aFlags, graph->GraphRate());
new AudioNodeStream(aEngine, aFlags, aGraph->GraphRate());
stream->mSuspendedCount += aCtx->ShouldSuspendNewStream();
if (node) {
stream->SetChannelMixingParametersImpl(node->ChannelCount(),
node->ChannelCountModeValue(),
node->ChannelInterpretationValue());
}
graph->AddStream(stream);
aGraph->AddStream(stream);
return stream.forget();
}

View File

@ -62,13 +62,12 @@ public:
/**
* Create a stream that will process audio for an AudioNode.
* Takes ownership of aEngine.
* If aGraph is non-null, use that as the MediaStreamGraph, otherwise use
* aCtx's graph. aGraph is only non-null when called for AudioDestinationNode
* since the context's graph hasn't been set up in that case.
* aGraph is required and equals the graph of aCtx in most cases. An exception
* is AudioDestinationNode where the context's graph hasn't been set up yet.
*/
static already_AddRefed<AudioNodeStream>
Create(AudioContext* aCtx, AudioNodeEngine* aEngine, Flags aKind,
MediaStreamGraph* aGraph = nullptr);
MediaStreamGraph* aGraph);
protected:
/**

View File

@ -91,7 +91,8 @@ AudioParam::Stream()
AudioNodeEngine* engine = new AudioNodeEngine(nullptr);
RefPtr<AudioNodeStream> stream =
AudioNodeStream::Create(mNode->Context(), engine,
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
mNode->Context()->Graph());
// Force the input to have only one channel, and make it down-mix using
// the speaker rules if needed.

View File

@ -259,7 +259,8 @@ BiquadFilterNode::BiquadFilterNode(AudioContext* aContext)
uint64_t windowID = aContext->GetParentObject()->WindowID();
BiquadFilterNodeEngine* engine = new BiquadFilterNodeEngine(this, aContext->Destination(), windowID);
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
}
BiquadFilterNode::~BiquadFilterNode()

View File

@ -71,7 +71,8 @@ ChannelMergerNode::ChannelMergerNode(AudioContext* aContext,
{
mStream = AudioNodeStream::Create(aContext,
new ChannelMergerNodeEngine(this),
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
}
ChannelMergerNode::~ChannelMergerNode()

View File

@ -62,7 +62,8 @@ ChannelSplitterNode::ChannelSplitterNode(AudioContext* aContext,
{
mStream = AudioNodeStream::Create(aContext,
new ChannelSplitterNodeEngine(this),
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
}
ChannelSplitterNode::~ChannelSplitterNode()

View File

@ -200,7 +200,8 @@ ConvolverNode::ConvolverNode(AudioContext* aContext)
{
ConvolverNodeEngine* engine = new ConvolverNodeEngine(this, mNormalize);
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
}
ConvolverNode::~ConvolverNode()

View File

@ -202,7 +202,8 @@ DelayNode::DelayNode(AudioContext* aContext, double aMaxDelay)
new DelayNodeEngine(this, aContext->Destination(),
aContext->SampleRate() * aMaxDelay);
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
}
DelayNode::~DelayNode()

View File

@ -201,7 +201,8 @@ DynamicsCompressorNode::DynamicsCompressorNode(AudioContext* aContext)
{
DynamicsCompressorNodeEngine* engine = new DynamicsCompressorNodeEngine(this, aContext->Destination());
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
}
DynamicsCompressorNode::~DynamicsCompressorNode()

View File

@ -124,7 +124,8 @@ GainNode::GainNode(AudioContext* aContext)
{
GainNodeEngine* engine = new GainNodeEngine(this, aContext->Destination());
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
}
GainNode::~GainNode()

View File

@ -164,7 +164,8 @@ IIRFilterNode::IIRFilterNode(AudioContext* aContext,
uint64_t windowID = aContext->GetParentObject()->WindowID();
IIRFilterNodeEngine* engine = new IIRFilterNodeEngine(this, aContext->Destination(), mFeedforward, mFeedback, windowID);
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
}
IIRFilterNode::~IIRFilterNode()

View File

@ -49,7 +49,8 @@ MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode(AudioContext* a
MOZ_ASSERT(!!outputStream);
AudioNodeEngine* engine = new AudioNodeEngine(this);
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::EXTERNAL_OUTPUT);
AudioNodeStream::EXTERNAL_OUTPUT,
aContext->Graph());
mPort = outputStream->AllocateInputPort(mStream, AudioNodeStream::AUDIO_TRACK);
}

View File

@ -420,7 +420,8 @@ OscillatorNode::OscillatorNode(AudioContext* aContext)
{
OscillatorNodeEngine* engine = new OscillatorNodeEngine(this, aContext->Destination());
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::NEED_MAIN_THREAD_FINISHED);
AudioNodeStream::NEED_MAIN_THREAD_FINISHED,
aContext->Graph());
engine->SetSourceStream(mStream);
mStream->AddMainThreadListener(this);
}

View File

@ -315,7 +315,8 @@ PannerNode::PannerNode(AudioContext* aContext)
{
mStream = AudioNodeStream::Create(aContext,
new PannerNodeEngine(this, aContext->Destination()),
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
// We should register once we have set up our stream and engine.
Context()->Listener()->RegisterPannerNode(this);
}

View File

@ -504,7 +504,8 @@ ScriptProcessorNode::ScriptProcessorNode(AudioContext* aContext,
BufferSize(),
aNumberOfInputChannels);
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
}
ScriptProcessorNode::~ScriptProcessorNode()

View File

@ -179,7 +179,8 @@ StereoPannerNode::StereoPannerNode(AudioContext* aContext)
{
StereoPannerNodeEngine* engine = new StereoPannerNodeEngine(this, aContext->Destination());
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
}
StereoPannerNode::~StereoPannerNode()

View File

@ -322,7 +322,8 @@ WaveShaperNode::WaveShaperNode(AudioContext* aContext)
WaveShaperNodeEngine* engine = new WaveShaperNodeEngine(this);
mStream = AudioNodeStream::Create(aContext, engine,
AudioNodeStream::NO_STREAM_FLAGS);
AudioNodeStream::NO_STREAM_FLAGS,
aContext->Graph());
}
WaveShaperNode::~WaveShaperNode()