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