Bug 1432779 - P3. Properly set channel map layout after seeking. r?padenot
MozReview-Commit-ID: 5FY9hdaijhf
--- a/dom/media/MediaData.cpp
+++ b/dom/media/MediaData.cpp
@@ -93,17 +93,18 @@ AudioData::TransferAndUpdateTimestampAnd
{
NS_ENSURE_TRUE(aOther, nullptr);
RefPtr<AudioData> v = new AudioData(aOther->mOffset,
aTimestamp,
aDuration,
aOther->mFrames,
Move(aOther->mAudioData),
aOther->mChannels,
- aOther->mRate);
+ aOther->mRate,
+ aOther->mChannelMap);
return v.forget();
}
static bool
ValidatePlane(const VideoData::YCbCrBuffer::Plane& aPlane)
{
return aPlane.mWidth <= PlanarYCbCrImage::MAX_DIMENSION &&
aPlane.mHeight <= PlanarYCbCrImage::MAX_DIMENSION &&
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -1236,17 +1236,17 @@ protected:
frames * channels * sizeof(AudioDataValue));
auto duration = FramesToTimeUnit(frames, Info().mAudio.mRate);
if (!duration.IsValid()) {
return NS_ERROR_DOM_MEDIA_OVERFLOW_ERR;
}
RefPtr<AudioData> data(new AudioData(
aAudio->mOffset, mSeekJob.mTarget->GetTime(),
duration, frames, Move(audioData), channels,
- aAudio->mRate));
+ aAudio->mRate, aAudio->mChannelMap));
MOZ_ASSERT(AudioQueue().GetSize() == 0,
"Should be the 1st sample after seeking");
mMaster->PushAudio(data);
mDoneAudioSeeking = true;
return NS_OK;
}