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 778638 95d69312a8c73ca68e9d84d702ecdc6498ba6fde
parent 778637 6b857882e2bd6e01933a2dde7272040ddcde1516
child 778639 cfb06a18ba6f94e184d90feb17491534548979f6
push id105544
push userbvandyk@mozilla.com
push dateFri, 06 Apr 2018 15:56:09 +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) {