Bug 1454630 - P4. Only wait for CDMProxy if actually needed for the given decoder. r?bryce
If the particular track isn't encrypted, there's no need to wait for a CDMProxy.
MozReview-Commit-ID: DPbvbwsO58N
--- a/dom/media/MediaFormatReader.cpp
+++ b/dom/media/MediaFormatReader.cpp
@@ -1496,17 +1496,18 @@ MediaFormatReader::PrepareToSetCDMForTra
}
ScheduleUpdate(aTrack);
}
bool
MediaFormatReader::IsDecoderWaitingForCDM(TrackType aTrack)
{
MOZ_ASSERT(OnTaskQueue());
- return IsEncrypted() && mSetCDMForTracks.contains(aTrack) && !mCDMProxy;
+ return GetDecoderData(aTrack).IsEncrypted() &&
+ mSetCDMForTracks.contains(aTrack) && !mCDMProxy;
}
RefPtr<SetCDMPromise>
MediaFormatReader::SetCDMProxy(CDMProxy* aProxy)
{
MOZ_ASSERT(OnTaskQueue());
LOGV("SetCDMProxy (%p)", aProxy);