Bug 1300069 - Rename MediaDataDemuxer::GetCrypto to GetCryptoInitData to better reflect its purpose. r?jya draft
authorChris Pearce <cpearce@mozilla.com>
Wed, 28 Sep 2016 13:42:35 +1300
changeset 418235 99f2793850729a6826cf3fef35a5cdaa711b2f3b
parent 418234 2e1068fa8869345b772f45b6bb607153c3e1bdb4
child 418236 e084efc11c06ad23380e8a3bd0913aecca8abcaa
push id30644
push usercpearce@mozilla.com
push dateWed, 28 Sep 2016 01:15:36 +0000
reviewersjya
bugs1300069
milestone52.0a1
Bug 1300069 - Rename MediaDataDemuxer::GetCrypto to GetCryptoInitData to better reflect its purpose. r?jya MozReview-Commit-ID: u6MEiqEhCL
dom/media/MediaDataDemuxer.h
dom/media/MediaFormatReader.cpp
dom/media/fmp4/MP4Demuxer.cpp
dom/media/fmp4/MP4Demuxer.h
dom/media/mediasource/MediaSourceDemuxer.cpp
dom/media/mediasource/MediaSourceDemuxer.h
dom/media/mediasource/TrackBuffersManager.cpp
dom/media/ogg/OggDemuxer.cpp
dom/media/ogg/OggDemuxer.h
dom/media/webm/WebMDemuxer.cpp
dom/media/webm/WebMDemuxer.h
--- a/dom/media/MediaDataDemuxer.h
+++ b/dom/media/MediaDataDemuxer.h
@@ -60,19 +60,20 @@ public:
 
   // Returns true if the underlying resource allows seeking.
   virtual bool IsSeekable() const = 0;
 
   // Returns true if the underlying resource can only seek within buffered
   // ranges.
   virtual bool IsSeekableOnlyInBufferedRanges() const { return false; }
 
-  // Returns the media's crypto information, or nullptr if media isn't
-  // encrypted.
-  virtual UniquePtr<EncryptionInfo> GetCrypto()
+  // Returns the media's crypto init data, or nullptr if media doesn't
+  // contain crypto init data. Note: the media may still have encrypted
+  // tracks and be transmitting the init data out of band.
+  virtual UniquePtr<EncryptionInfo> GetCryptoInitData()
   {
     return nullptr;
   }
 
   // Notifies the demuxer that the underlying resource has received more data
   // since the demuxer was initialized.
   // The demuxer can use this mechanism to inform all track demuxers that new
   // data is available and to refresh its buffered range.
--- a/dom/media/MediaFormatReader.cpp
+++ b/dom/media/MediaFormatReader.cpp
@@ -330,17 +330,17 @@ MediaFormatReader::OnDemuxerInitDone(nsr
       mAudio.mTimeRanges = mAudio.mTrackDemuxer->GetBuffered();
       mTrackDemuxersMayBlock |= mAudio.mTrackDemuxer->GetSamplesMayBlock();
     } else {
       mAudio.mTrackDemuxer->BreakCycles();
       mAudio.mTrackDemuxer = nullptr;
     }
   }
 
-  UniquePtr<EncryptionInfo> crypto = mDemuxer->GetCrypto();
+  UniquePtr<EncryptionInfo> crypto = mDemuxer->GetCryptoInitData();
   if (mDecoder && crypto && crypto->IsEncrypted()) {
 #ifdef MOZ_EME
     // Try and dispatch 'encrypted'. Won't go if ready state still HAVE_NOTHING.
     for (uint32_t i = 0; i < crypto->mInitDatas.Length(); i++) {
       NS_DispatchToMainThread(
         new DispatchKeyNeededEvent(mDecoder, crypto->mInitDatas[i].mInitData, crypto->mInitDatas[i].mType));
     }
 #endif // MOZ_EME
--- a/dom/media/fmp4/MP4Demuxer.cpp
+++ b/dom/media/fmp4/MP4Demuxer.cpp
@@ -197,17 +197,17 @@ void
 MP4Demuxer::NotifyDataRemoved()
 {
   for (uint32_t i = 0; i < mDemuxers.Length(); i++) {
     mDemuxers[i]->NotifyDataArrived();
   }
 }
 
 UniquePtr<EncryptionInfo>
-MP4Demuxer::GetCrypto()
+MP4Demuxer::GetCryptoInitData()
 {
   const mp4_demuxer::CryptoFile& cryptoFile = mMetadata->Crypto();
   if (!cryptoFile.valid) {
     return nullptr;
   }
 
   const nsTArray<mp4_demuxer::PsshInfo>& psshs = cryptoFile.pssh;
   nsTArray<uint8_t> initData;
--- a/dom/media/fmp4/MP4Demuxer.h
+++ b/dom/media/fmp4/MP4Demuxer.h
@@ -33,17 +33,17 @@ public:
 
   uint32_t GetNumberTracks(TrackInfo::TrackType aType) const override;
 
   already_AddRefed<MediaTrackDemuxer> GetTrackDemuxer(TrackInfo::TrackType aType,
                                                       uint32_t aTrackNumber) override;
 
   bool IsSeekable() const override;
 
-  UniquePtr<EncryptionInfo> GetCrypto() override;
+  UniquePtr<EncryptionInfo> GetCryptoInitData() override;
 
   void NotifyDataArrived() override;
 
   void NotifyDataRemoved() override;
 
 private:
   friend class MP4TrackDemuxer;
   RefPtr<MediaResource> mResource;
--- a/dom/media/mediasource/MediaSourceDemuxer.cpp
+++ b/dom/media/mediasource/MediaSourceDemuxer.cpp
@@ -158,17 +158,17 @@ MediaSourceDemuxer::GetTrackDemuxer(Trac
 
 bool
 MediaSourceDemuxer::IsSeekable() const
 {
   return true;
 }
 
 UniquePtr<EncryptionInfo>
-MediaSourceDemuxer::GetCrypto()
+MediaSourceDemuxer::GetCryptoInitData()
 {
   MonitorAutoLock mon(mMonitor);
   auto crypto = MakeUnique<EncryptionInfo>();
   *crypto = mInfo.mCrypto;
   return crypto;
 }
 
 void
--- a/dom/media/mediasource/MediaSourceDemuxer.h
+++ b/dom/media/mediasource/MediaSourceDemuxer.h
@@ -34,17 +34,17 @@ public:
 
   uint32_t GetNumberTracks(TrackInfo::TrackType aType) const override;
 
   already_AddRefed<MediaTrackDemuxer> GetTrackDemuxer(TrackInfo::TrackType aType,
                                                               uint32_t aTrackNumber) override;
 
   bool IsSeekable() const override;
 
-  UniquePtr<EncryptionInfo> GetCrypto() override;
+  UniquePtr<EncryptionInfo> GetCryptoInitData() override;
 
   bool ShouldComputeStartTime() const override { return false; }
 
   void NotifyDataArrived() override;
 
   /* interface for TrackBuffersManager */
   void AttachSourceBuffer(TrackBuffersManager* aSourceBuffer);
   void DetachSourceBuffer(TrackBuffersManager* aSourceBuffer);
--- a/dom/media/mediasource/TrackBuffersManager.cpp
+++ b/dom/media/mediasource/TrackBuffersManager.cpp
@@ -1055,17 +1055,17 @@ TrackBuffersManager::OnDemuxerInitDone(n
 
     // 6. Set first initialization segment received flag to true.
     mFirstInitializationSegmentReceived = true;
   } else {
     mAudioTracks.mLastInfo = new SharedTrackInfo(info.mAudio, streamID);
     mVideoTracks.mLastInfo = new SharedTrackInfo(info.mVideo, streamID);
   }
 
-  UniquePtr<EncryptionInfo> crypto = mInputDemuxer->GetCrypto();
+  UniquePtr<EncryptionInfo> crypto = mInputDemuxer->GetCryptoInitData();
   if (crypto && crypto->IsEncrypted()) {
 #ifdef MOZ_EME
     // Try and dispatch 'encrypted'. Won't go if ready state still HAVE_NOTHING.
     for (uint32_t i = 0; i < crypto->mInitDatas.Length(); i++) {
       NS_DispatchToMainThread(
         new DispatchKeyNeededEvent(mParentDecoder, crypto->mInitDatas[i].mInitData,
                                    crypto->mInitDatas[i].mType));
     }
--- a/dom/media/ogg/OggDemuxer.cpp
+++ b/dom/media/ogg/OggDemuxer.cpp
@@ -977,17 +977,17 @@ OggDemuxer::IsSeekable() const
 {
   if (mIsChained) {
     return false;
   }
   return true;
 }
 
 UniquePtr<EncryptionInfo>
-OggDemuxer::GetCrypto()
+OggDemuxer::GetCryptoInitData()
 {
   return nullptr;
 }
 
 ogg_packet*
 OggDemuxer::GetNextPacket(TrackInfo::TrackType aType)
 {
   OggCodecState* state = GetTrackCodecState(aType);
--- a/dom/media/ogg/OggDemuxer.h
+++ b/dom/media/ogg/OggDemuxer.h
@@ -28,17 +28,17 @@ public:
 
   uint32_t GetNumberTracks(TrackInfo::TrackType aType) const override;
 
   already_AddRefed<MediaTrackDemuxer> GetTrackDemuxer(TrackInfo::TrackType aType,
                                                       uint32_t aTrackNumber) override;
 
   bool IsSeekable() const override;
 
-  UniquePtr<EncryptionInfo> GetCrypto() override;
+  UniquePtr<EncryptionInfo> GetCryptoInitData() override;
 
   // Set the events to notify when chaining is encountered.
   void SetChainingEvents(TimedMetadataEventProducer* aMetadataEvent,
                          MediaEventProducer<void>* aOnSeekableEvent);
 
 private:
 
   // helpers for friend OggTrackDemuxer
--- a/dom/media/webm/WebMDemuxer.cpp
+++ b/dom/media/webm/WebMDemuxer.cpp
@@ -508,17 +508,17 @@ WebMDemuxer::NotifyDataRemoved()
   mBufferedState->Reset();
   if (mInitData) {
     mBufferedState->NotifyDataArrived(mInitData->Elements(), mInitData->Length(), 0);
   }
   mNeedReIndex = true;
 }
 
 UniquePtr<EncryptionInfo>
-WebMDemuxer::GetCrypto()
+WebMDemuxer::GetCryptoInitData()
 {
   return mCrypto.IsEncrypted() ? MakeUnique<EncryptionInfo>(mCrypto) : nullptr;
 }
 
 CryptoTrack
 WebMDemuxer::GetTrackCrypto(TrackInfo::TrackType aType, size_t aTrackNumber) {
   const int WEBM_IV_SIZE = 16;
   const unsigned char * contentEncKeyId;
--- a/dom/media/webm/WebMDemuxer.h
+++ b/dom/media/webm/WebMDemuxer.h
@@ -85,33 +85,33 @@ class WebMTrackDemuxer;
 
 class WebMDemuxer : public MediaDataDemuxer
 {
 public:
   explicit WebMDemuxer(MediaResource* aResource);
   // Indicate if the WebMDemuxer is to be used with MediaSource. In which
   // case the demuxer will stop reads to the last known complete block.
   WebMDemuxer(MediaResource* aResource, bool aIsMediaSource);
-  
+
   RefPtr<InitPromise> Init() override;
 
   bool HasTrackType(TrackInfo::TrackType aType) const override;
 
   uint32_t GetNumberTracks(TrackInfo::TrackType aType) const override;
 
   UniquePtr<TrackInfo> GetTrackInfo(TrackInfo::TrackType aType, size_t aTrackNumber) const;
 
   already_AddRefed<MediaTrackDemuxer> GetTrackDemuxer(TrackInfo::TrackType aType,
                                                       uint32_t aTrackNumber) override;
 
   bool IsSeekable() const override;
 
   bool IsSeekableOnlyInBufferedRanges() const override;
 
-  UniquePtr<EncryptionInfo> GetCrypto() override;
+  UniquePtr<EncryptionInfo> GetCryptoInitData() override;
 
   bool GetOffsetForTime(uint64_t aTime, int64_t* aOffset);
 
   // Demux next WebM packet and append samples to MediaRawDataQueue
   bool GetNextPacket(TrackInfo::TrackType aType, MediaRawDataQueue *aSamples);
 
   nsresult Reset(TrackInfo::TrackType aType);