Bug 1388288 - Make dom/media/webaudio build non-Unified. r=padenot

MozReview-Commit-ID: Dihfqa9URpl

--HG--
extra : rebase_source : 0e1346919ada98b78481ced311940248cffd6d86
This commit is contained in:
Chris Pearce 2017-08-08 11:38:02 +08:00
Родитель dd6f329054
Коммит 843a107185
15 изменённых файлов: 86 добавлений и 49 удалений

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

@ -16,6 +16,8 @@
#include "js/TypeDecls.h"
#include "mozilla/MemoryReporting.h"
#include "mozilla/dom/TypedArray.h"
#include "nsPIDOMWindow.h"
#include "nsIWeakReferenceUtils.h"
namespace mozilla {

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

@ -41,6 +41,7 @@
#include "AudioChannelService.h"
#include "AudioDestinationNode.h"
#include "AudioListener.h"
#include "AudioNodeStream.h"
#include "AudioStream.h"
#include "BiquadFilterNode.h"
#include "ChannelMergerNode.h"

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

@ -5,11 +5,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "AudioDestinationNode.h"
#include "AudioContext.h"
#include "AlignmentUtils.h"
#include "AudioContext.h"
#include "mozilla/dom/AudioDestinationNodeBinding.h"
#include "mozilla/dom/OfflineAudioCompletionEvent.h"
#include "mozilla/dom/ScriptSettings.h"
#include "mozilla/dom/BaseAudioContextBinding.h"
#include "mozilla/Services.h"
#include "AudioChannelAgent.h"
#include "AudioChannelService.h"

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

@ -5,6 +5,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "AudioEventTimeline.h"
#include "MediaStreamGraph.h"
#include "mozilla/ErrorResult.h"
@ -52,6 +53,59 @@ static float ExtractValueFromCurve(double startTime, float* aCurve, uint32_t aCu
namespace mozilla {
namespace dom {
AudioTimelineEvent::AudioTimelineEvent(Type aType,
double aTime,
float aValue,
double aTimeConstant,
double aDuration,
const float* aCurve,
uint32_t aCurveLength)
: mType(aType)
, mCurve(nullptr)
, mTimeConstant(aTimeConstant)
, mDuration(aDuration)
#ifdef DEBUG
, mTimeIsInTicks(false)
#endif
{
mTime = aTime;
if (aType == AudioTimelineEvent::SetValueCurve) {
SetCurveParams(aCurve, aCurveLength);
} else {
mValue = aValue;
}
}
AudioTimelineEvent::AudioTimelineEvent(MediaStream* aStream)
: mType(Stream)
, mCurve(nullptr)
, mStream(aStream)
, mTimeConstant(0.0)
, mDuration(0.0)
#ifdef DEBUG
, mTimeIsInTicks(false)
#endif
{
}
AudioTimelineEvent::AudioTimelineEvent(const AudioTimelineEvent& rhs)
{
PodCopy(this, &rhs, 1);
if (rhs.mType == AudioTimelineEvent::SetValueCurve) {
SetCurveParams(rhs.mCurve, rhs.mCurveLength);
} else if (rhs.mType == AudioTimelineEvent::Stream) {
new (&mStream) decltype(mStream)(rhs.mStream);
}
}
AudioTimelineEvent::~AudioTimelineEvent()
{
if (mType == AudioTimelineEvent::SetValueCurve) {
delete[] mCurve;
}
}
// This method computes the AudioParam value at a given time based on the event timeline
template<class TimeType> void
AudioEventTimeline::GetValuesAtTimeHelper(TimeType aTime, float* aBuffer,

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

@ -37,54 +37,16 @@ struct AudioTimelineEvent final
Cancel
};
AudioTimelineEvent(Type aType, double aTime, float aValue, double aTimeConstant = 0.0,
double aDuration = 0.0, const float* aCurve = nullptr,
uint32_t aCurveLength = 0)
: mType(aType)
, mCurve(nullptr)
, mTimeConstant(aTimeConstant)
, mDuration(aDuration)
#ifdef DEBUG
, mTimeIsInTicks(false)
#endif
{
mTime = aTime;
if (aType == AudioTimelineEvent::SetValueCurve) {
SetCurveParams(aCurve, aCurveLength);
} else {
mValue = aValue;
}
}
explicit AudioTimelineEvent(MediaStream* aStream)
: mType(Stream)
, mCurve(nullptr)
, mStream(aStream)
, mTimeConstant(0.0)
, mDuration(0.0)
#ifdef DEBUG
, mTimeIsInTicks(false)
#endif
{
}
AudioTimelineEvent(const AudioTimelineEvent& rhs)
{
PodCopy(this, &rhs, 1);
if (rhs.mType == AudioTimelineEvent::SetValueCurve) {
SetCurveParams(rhs.mCurve, rhs.mCurveLength);
} else if (rhs.mType == AudioTimelineEvent::Stream) {
new (&mStream) decltype(mStream)(rhs.mStream);
}
}
~AudioTimelineEvent()
{
if (mType == AudioTimelineEvent::SetValueCurve) {
delete[] mCurve;
}
}
AudioTimelineEvent(Type aType,
double aTime,
float aValue,
double aTimeConstant = 0.0,
double aDuration = 0.0,
const float* aCurve = nullptr,
uint32_t aCurveLength = 0);
explicit AudioTimelineEvent(MediaStream* aStream);
AudioTimelineEvent(const AudioTimelineEvent& rhs);
~AudioTimelineEvent();
template <class TimeType>
TimeType Time() const;

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

@ -16,6 +16,7 @@
#include "AlignmentUtils.h"
#include "AudioNodeEngineSSE2.h"
#endif
#include "AudioBlock.h"
namespace mozilla {

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

@ -13,6 +13,7 @@
#include "AudioParamTimeline.h"
#include "AudioContext.h"
#include "nsMathUtils.h"
#include "AlignmentUtils.h"
using namespace mozilla::dom;

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

@ -8,6 +8,8 @@
#include "AudioDestinationNode.h"
#include "nsContentUtils.h"
#include "AudioNodeEngine.h"
#include "AudioNodeStream.h"
namespace mozilla {
namespace dom {

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

@ -8,6 +8,7 @@
#define DelayBuffer_h_
#include "nsTArray.h"
#include "AudioBlock.h"
#include "AudioSegment.h"
#include "mozilla/dom/AudioNodeBinding.h" // for ChannelInterpretation

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

@ -6,8 +6,10 @@
#include "IIRFilterNode.h"
#include "AudioNodeEngine.h"
#include "AudioDestinationNode.h"
#include "blink/IIRFilter.h"
#include "PlayingRefChangeHandler.h"
#include "AlignmentUtils.h"
#include "nsGkAtoms.h"

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

@ -29,6 +29,7 @@
#include "mozilla/dom/Promise.h"
#include "mozilla/Telemetry.h"
#include "nsPrintfCString.h"
#include "AudioNodeEngine.h"
namespace mozilla {

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

@ -6,6 +6,9 @@
#include "MediaElementAudioSourceNode.h"
#include "mozilla/dom/MediaElementAudioSourceNodeBinding.h"
#include "AudioDestinationNode.h"
#include "nsIScriptError.h"
#include "AudioNodeStream.h"
namespace mozilla {
namespace dom {

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

@ -11,6 +11,8 @@
#include "AudioStreamTrack.h"
#include "nsIDocument.h"
#include "mozilla/CORSMode.h"
#include "nsContentUtils.h"
#include "nsIScriptError.h"
namespace mozilla {
namespace dom {

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

@ -11,6 +11,7 @@
#include "nsContentUtils.h"
#include "nsIConsoleService.h"
#include "nsIScriptError.h"
#include "AudioEventTimeline.h"
namespace mozilla {

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

@ -5,6 +5,8 @@
#ifndef IIRFilter_h
#define IIRFilter_h
#include "nsTArray.h"
typedef nsTArray<double> AudioDoubleArray;
namespace blink {