Bug 1385155. P3 - let MP4Stream use SourceBufferResource instead of MediaResourceIndex.
MozReview-Commit-ID: Gf6FEQAOLRk
--- a/dom/media/mediasource/ContainerParser.cpp
+++ b/dom/media/mediasource/ContainerParser.cpp
@@ -358,33 +358,33 @@ private:
Maybe<WebMTimeDataOffset> mLastMapping;
};
#ifdef MOZ_FMP4
class MP4Stream : public mp4_demuxer::Stream
{
public:
- explicit MP4Stream(MediaResource* aResource);
+ explicit MP4Stream(SourceBufferResource* aResource);
virtual ~MP4Stream();
bool ReadAt(int64_t aOffset,
void* aBuffer,
size_t aCount,
size_t* aBytesRead) override;
bool CachedReadAt(int64_t aOffset,
void* aBuffer,
size_t aCount,
size_t* aBytesRead) override;
bool Length(int64_t* aSize) override;
private:
- MediaResourceIndex mResource;
+ RefPtr<SourceBufferResource> mResource;
};
-MP4Stream::MP4Stream(MediaResource* aResource)
+MP4Stream::MP4Stream(SourceBufferResource* aResource)
: mResource(aResource)
{
MOZ_COUNT_CTOR(MP4Stream);
MOZ_ASSERT(aResource);
}
MP4Stream::~MP4Stream()
{
@@ -401,32 +401,32 @@ MP4Stream::ReadAt(int64_t aOffset,
}
bool
MP4Stream::CachedReadAt(int64_t aOffset,
void* aBuffer,
size_t aCount,
size_t* aBytesRead)
{
- nsresult rv = mResource.GetResource()->ReadFromCache(
+ nsresult rv = mResource->ReadFromCache(
reinterpret_cast<char*>(aBuffer), aOffset, aCount);
if (NS_FAILED(rv)) {
*aBytesRead = 0;
return false;
}
*aBytesRead = aCount;
return true;
}
bool
MP4Stream::Length(int64_t* aSize)
{
- if (mResource.GetLength() < 0)
+ if (mResource->GetLength() < 0)
return false;
- *aSize = mResource.GetLength();
+ *aSize = mResource->GetLength();
return true;
}
class MP4ContainerParser : public ContainerParser
{
public:
explicit MP4ContainerParser(const MediaContainerType& aType)
: ContainerParser(aType)