summaryrefslogtreecommitdiffstats
path: root/dom/media/MediaData.h
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/MediaData.h')
-rw-r--r--dom/media/MediaData.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/dom/media/MediaData.h b/dom/media/MediaData.h
index ee1e204815..3ae8c1dbc2 100644
--- a/dom/media/MediaData.h
+++ b/dom/media/MediaData.h
@@ -97,8 +97,16 @@ class AlignedBuffer {
}
AlignedBuffer& operator=(AlignedBuffer&& aOther) noexcept {
- this->~AlignedBuffer();
- new (this) AlignedBuffer(std::move(aOther));
+ if (&aOther == this) {
+ return *this;
+ }
+ mData = aOther.mData;
+ mLength = aOther.mLength;
+ mBuffer = std::move(aOther.mBuffer);
+ mCapacity = aOther.mCapacity;
+ aOther.mData = nullptr;
+ aOther.mLength = 0;
+ aOther.mCapacity = 0;
return *this;
}
@@ -268,7 +276,7 @@ class InflatableShortBuffer {
// capacity, and the loop goes backward.
float* output = reinterpret_cast<float*>(mBuffer.mData);
for (size_t i = Length(); i--;) {
- output[i] = AudioSampleToFloat(mBuffer.mData[i]);
+ output[i] = ConvertAudioSample<float>(mBuffer.mData[i]);
}
AlignedFloatBuffer rv;
rv.mBuffer = std::move(mBuffer.mBuffer);