From f076a8ece972aa7c8f56a719fad87149ac8d0ae0 Mon Sep 17 00:00:00 2001 From: Alastor Wu Date: Thu, 11 Apr 2019 17:32:54 +0000 Subject: [PATCH] Bug 1540740 - part2 : using TimeUnit as input parameter for 'AdjustForStartTime()'. r=jya There is no need to cast to `TimeUnit` to `int64` and then cast to `TimeUnit` again. Differential Revision: https://phabricator.services.mozilla.com/D26758 --HG-- extra : moz-landing-system : lando --- dom/media/MediaData.cpp | 8 +++----- dom/media/MediaData.h | 6 +++--- dom/media/ReaderProxy.cpp | 4 ++-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/dom/media/MediaData.cpp b/dom/media/MediaData.cpp index 57f63f969b0a..bbe38650f4c8 100644 --- a/dom/media/MediaData.cpp +++ b/dom/media/MediaData.cpp @@ -56,12 +56,10 @@ Span AudioData::Data() const { return MakeSpan(GetAdjustedData(), mFrames * mChannels); } -bool AudioData::AdjustForStartTime(int64_t aStartTime) { - const TimeUnit startTimeOffset = - media::TimeUnit::FromMicroseconds(aStartTime); - mOriginalTime -= startTimeOffset; +bool AudioData::AdjustForStartTime(const media::TimeUnit& aStartTime) { + mOriginalTime -= aStartTime; if (mTrimWindow) { - *mTrimWindow -= startTimeOffset; + *mTrimWindow -= aStartTime; } return MediaData::AdjustForStartTime(aStartTime) && mOriginalTime.IsValid(); } diff --git a/dom/media/MediaData.h b/dom/media/MediaData.h index c2775370217a..d908fe67bfd5 100644 --- a/dom/media/MediaData.h +++ b/dom/media/MediaData.h @@ -298,8 +298,8 @@ class MediaData { // Return true if the adjusted time is valid. Caller should handle error when // the result is invalid. - virtual bool AdjustForStartTime(int64_t aStartTime) { - mTime -= media::TimeUnit::FromMicroseconds(aStartTime); + virtual bool AdjustForStartTime(const media::TimeUnit& aStartTime) { + mTime -= aStartTime; return mTime.IsValid(); } @@ -371,7 +371,7 @@ class AudioData : public MediaData { // Return true if the adjusted time is valid. Caller should handle error when // the result is invalid. - bool AdjustForStartTime(int64_t aStartTime) override; + bool AdjustForStartTime(const media::TimeUnit& aStartTime) override; const uint32_t mChannels; // The AudioConfig::ChannelLayout map. Channels are ordered as per SMPTE diff --git a/dom/media/ReaderProxy.cpp b/dom/media/ReaderProxy.cpp index 5321f3fbe18d..d6788dced6ed 100644 --- a/dom/media/ReaderProxy.cpp +++ b/dom/media/ReaderProxy.cpp @@ -43,7 +43,7 @@ RefPtr ReaderProxy::OnAudioDataRequestCompleted( RefPtr aAudio) { MOZ_ASSERT(mOwnerThread->IsCurrentThreadIn()); - if (aAudio->AdjustForStartTime(StartTime().ToMicroseconds())) { + if (aAudio->AdjustForStartTime(StartTime())) { return AudioDataPromise::CreateAndResolve(aAudio.forget(), __func__); } return AudioDataPromise::CreateAndReject(NS_ERROR_DOM_MEDIA_OVERFLOW_ERR, @@ -76,7 +76,7 @@ RefPtr ReaderProxy::RequestVideoData( ? aTimeThreshold + StartTime() : aTimeThreshold; - int64_t startTime = StartTime().ToMicroseconds(); + auto startTime = StartTime(); return InvokeAsync(mReader->OwnerThread(), mReader.get(), __func__, &MediaFormatReader::RequestVideoData, threshold) ->Then(