diff options
Diffstat (limited to 'network/icecat/patches/999496.patch')
-rw-r--r-- | network/icecat/patches/999496.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/network/icecat/patches/999496.patch b/network/icecat/patches/999496.patch new file mode 100644 index 0000000000..b8d161b8cf --- /dev/null +++ b/network/icecat/patches/999496.patch @@ -0,0 +1,56 @@ +--- a/content/media/MediaData.cpp ++++ a/content/media/MediaData.cpp +@@ -33,16 +33,26 @@ AudioData::EnsureAudioBuffer() + AudioDataValue* data = static_cast<AudioDataValue*>(mAudioBuffer->Data()); + for (uint32_t i = 0; i < mFrames; ++i) { + for (uint32_t j = 0; j < mChannels; ++j) { + data[j*mFrames + i] = mAudioData[i*mChannels + j]; + } + } + } + ++size_t ++AudioData::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const ++{ ++ size_t size = aMallocSizeOf(this) + aMallocSizeOf(mAudioData); ++ if (mAudioBuffer) { ++ size += mAudioBuffer->SizeOfIncludingThis(aMallocSizeOf); ++ } ++ return size; ++} ++ + static bool + ValidatePlane(const VideoData::YCbCrBuffer::Plane& aPlane) + { + return aPlane.mWidth <= PlanarYCbCrImage::MAX_DIMENSION && + aPlane.mHeight <= PlanarYCbCrImage::MAX_DIMENSION && + aPlane.mWidth * aPlane.mHeight < MAX_VIDEO_WIDTH * MAX_VIDEO_HEIGHT && + aPlane.mStride > 0; + } +--- a/content/media/MediaData.h ++++ a/content/media/MediaData.h +@@ -75,23 +75,17 @@ public: + MOZ_COUNT_CTOR(AudioData); + } + + ~AudioData() + { + MOZ_COUNT_DTOR(AudioData); + } + +- size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const { +- size_t size = aMallocSizeOf(this) + aMallocSizeOf(mAudioData); +- if (mAudioBuffer) { +- size += mAudioBuffer->SizeOfIncludingThis(aMallocSizeOf); +- } +- return size; +- } ++ size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const; + + // If mAudioBuffer is null, creates it from mAudioData. + void EnsureAudioBuffer(); + + const uint32_t mFrames; + const uint32_t mChannels; + // At least one of mAudioBuffer/mAudioData must be non-null. + // mChannels channels, each with mFrames frames |