Bug 1215003. Part 1 - Move MediaDecoderReader::ReadMetadata and overrides to private sections. r=gerald.

This commit is contained in:
JW Wang 2015-10-19 10:51:48 +08:00
parent 882c6a6fc4
commit 38243867dd
15 changed files with 28 additions and 38 deletions

View File

@ -182,13 +182,6 @@ public:
// override AsyncReadMetadata to create a more proper async implementation.
virtual RefPtr<MetadataPromise> AsyncReadMetadata();
// Read header data for all bitstreams in the file. Fills aInfo with
// the data required to present the media, and optionally fills *aTags
// with tag metadata from the file.
// Returns NS_OK on success, or NS_ERROR_FAILURE on failure.
virtual nsresult ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags) { MOZ_CRASH(); }
// Fills aInfo with the latest cached data required to present the media,
// ReadUpdatedMetadata will always be called once ReadMetadata has succeeded.
virtual void ReadUpdatedMetadata(MediaInfo* aInfo) { };
@ -268,6 +261,12 @@ private:
virtual void ReleaseMediaResourcesInternal() {}
virtual void DisableHardwareAccelerationInternal() {}
// Read header data for all bitstreams in the file. Fills aInfo with
// the data required to present the media, and optionally fills *aTags
// with tag metadata from the file.
// Returns NS_OK on success, or NS_ERROR_FAILURE on failure.
virtual nsresult ReadMetadata(MediaInfo*, MetadataTags**) { MOZ_CRASH(); }
protected:
friend class TrackBuffer;
virtual void NotifyDataArrivedInternal(uint32_t aLength, int64_t aOffset) { }

View File

@ -35,8 +35,8 @@ AndroidMediaReader::AndroidMediaReader(AbstractMediaDecoder *aDecoder,
{
}
nsresult AndroidMediaReader::ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags)
nsresult
AndroidMediaReader::ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags)
{
MOZ_ASSERT(OnTaskQueue());

View File

@ -64,8 +64,6 @@ public:
return true;
}
virtual nsresult ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags);
virtual RefPtr<SeekPromise>
Seek(int64_t aTime, int64_t aEndTime) override;
@ -87,6 +85,8 @@ public:
RefPtr<Image> mImage;
};
private:
virtual nsresult ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags);
};
} // namespace mozilla

View File

@ -351,8 +351,7 @@ GetProperty(AudioFileStreamID aAudioFileStream,
nsresult
AppleMP3Reader::ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags)
AppleMP3Reader::ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags)
{
MOZ_ASSERT(OnTaskQueue());

View File

@ -31,9 +31,6 @@ public:
virtual bool HasAudio() override;
virtual bool HasVideo() override;
virtual nsresult ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags) override;
virtual RefPtr<SeekPromise>
Seek(int64_t aTime, int64_t aEndTime) override;
@ -50,10 +47,11 @@ protected:
virtual void NotifyDataArrivedInternal(uint32_t aLength,
int64_t aOffset) override;
public:
virtual bool IsMediaSeekable() override;
private:
virtual nsresult ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags) override;
void SetupDecoder();
nsresult Read(uint32_t *aNumBytes, char *aData);

View File

@ -90,8 +90,7 @@ static const GUID CLSID_MPEG_LAYER_3_DECODER_FILTER =
{ 0x38BE3000, 0xDBF4, 0x11D0, {0x86, 0x0E, 0x00, 0xA0, 0x24, 0xCF, 0xEF, 0x6D} };
nsresult
DirectShowReader::ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags)
DirectShowReader::ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags)
{
MOZ_ASSERT(OnTaskQueue());
HRESULT hr;

View File

@ -50,9 +50,6 @@ public:
bool HasAudio() override;
bool HasVideo() override;
nsresult ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags) override;
RefPtr<SeekPromise>
Seek(int64_t aTime, int64_t aEndTime) override;
@ -64,6 +61,7 @@ public:
bool IsMediaSeekable() override;
private:
nsresult ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags) override;
// Notifies the filter graph that playback is complete. aStatus is
// the code to send to the filter graph. Always returns false, so

View File

@ -360,8 +360,8 @@ GStreamerReader::GetDataLength()
return streamLen - mDataOffset;
}
nsresult GStreamerReader::ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags)
nsresult
GStreamerReader::ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags)
{
MOZ_ASSERT(OnTaskQueue());
nsresult ret = NS_OK;

View File

@ -46,8 +46,6 @@ public:
virtual bool DecodeAudioData() override;
virtual bool DecodeVideoFrame(bool &aKeyframeSkip,
int64_t aTimeThreshold) override;
virtual nsresult ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags) override;
virtual RefPtr<SeekPromise>
Seek(int64_t aTime, int64_t aEndTime) override;
virtual media::TimeIntervals GetBuffered() override;
@ -70,6 +68,7 @@ public:
virtual bool IsMediaSeekable() override;
private:
virtual nsresult ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags) override;
void ReadAndPushData(guint aLength);
RefPtr<layers::PlanarYCbCrImage> GetImageFromBuffer(GstBuffer* aBuffer);

View File

@ -371,8 +371,8 @@ void OggReader::SetupMediaTracksInfo(const nsTArray<uint32_t>& aSerials)
}
}
nsresult OggReader::ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags)
nsresult
OggReader::ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags)
{
MOZ_ASSERT(OnTaskQueue());

View File

@ -69,8 +69,6 @@ public:
return mTheoraState != 0 && mTheoraState->mActive;
}
virtual nsresult ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags) override;
virtual RefPtr<SeekPromise>
Seek(int64_t aTime, int64_t aEndTime) override;
virtual media::TimeIntervals GetBuffered() override;
@ -78,6 +76,8 @@ public:
virtual bool IsMediaSeekable() override;
private:
virtual nsresult ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags) override;
// TODO: DEPRECATED. This uses synchronous decoding.
// Stores the presentation time of the first frame we'd be able to play if
// we started playback at the current position. Returns the first video

View File

@ -32,8 +32,8 @@ nsresult RawReader::ResetDecode()
return MediaDecoderReader::ResetDecode();
}
nsresult RawReader::ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags)
nsresult
RawReader::ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags)
{
MOZ_ASSERT(OnTaskQueue());

View File

@ -36,8 +36,6 @@ public:
return true;
}
virtual nsresult ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags) override;
virtual RefPtr<SeekPromise>
Seek(int64_t aTime, int64_t aEndTime) override;
@ -46,6 +44,7 @@ public:
virtual bool IsMediaSeekable() override;
private:
virtual nsresult ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags) override;
bool ReadFromResource(uint8_t *aBuf, uint32_t aLength);
RawVideoHeader mMetadata;

View File

@ -116,8 +116,8 @@ WaveReader::~WaveReader()
MOZ_COUNT_DTOR(WaveReader);
}
nsresult WaveReader::ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags)
nsresult
WaveReader::ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags)
{
MOZ_ASSERT(OnTaskQueue());

View File

@ -36,8 +36,6 @@ public:
return false;
}
virtual nsresult ReadMetadata(MediaInfo* aInfo,
MetadataTags** aTags) override;
virtual RefPtr<SeekPromise>
Seek(int64_t aTime, int64_t aEndTime) override;
@ -46,6 +44,7 @@ public:
virtual bool IsMediaSeekable() override;
private:
virtual nsresult ReadMetadata(MediaInfo* aInfo, MetadataTags** aTags) override;
bool ReadAll(char* aBuf, int64_t aSize, int64_t* aBytesRead = nullptr);
bool LoadRIFFChunk();
bool LoadFormatChunk(uint32_t aChunkSize);