Bug 1300069 - Rename MediaDataDemuxer::GetCrypto to GetCryptoInitData to better reflect its purpose. r?jya
MozReview-Commit-ID: u6MEiqEhCL
--- 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);