Bug 1447273 - Consider all AudioChunk members in AudioChunk::CanCombineWithFollowing. r?padenot draft
authorAndreas Pehrson <pehrsons@mozilla.com>
Mon, 26 Mar 2018 18:33:42 +0200
changeset 772608 0aa21aba74275f24314924f883d16bd5f9ee2a50
parent 772607 83c484b43082f2bf9bb79ccb470cb5ab5f8a9691
push id103985
push userbmo:apehrson@mozilla.com
push dateMon, 26 Mar 2018 16:34:40 +0000
reviewerspadenot
bugs1447273
milestone61.0a1
Bug 1447273 - Consider all AudioChunk members in AudioChunk::CanCombineWithFollowing. r?padenot MozReview-Commit-ID: 1Fz1GNxRF3P
dom/media/AudioSegment.h
--- a/dom/media/AudioSegment.h
+++ b/dom/media/AudioSegment.h
@@ -168,16 +168,22 @@ struct AudioChunk {
   bool CanCombineWithFollowing(const AudioChunk& aOther) const
   {
     if (aOther.mBuffer != mBuffer) {
       return false;
     }
     if (!mBuffer) {
       return true;
     }
+    if (aOther.mVolume != mVolume) {
+      return false;
+    }
+    if (aOther.mPrincipalHandle != mPrincipalHandle) {
+      return false;
+    }
     NS_ASSERTION(aOther.mBufferFormat == mBufferFormat,
                  "Wrong metadata about buffer");
     NS_ASSERTION(aOther.mChannelData.Length() == mChannelData.Length(),
                  "Mismatched channel count");
     if (mDuration > INT32_MAX) {
       return false;
     }
     for (uint32_t channel = 0; channel < mChannelData.Length(); ++channel) {