Bug 815226 - Make the MediaPluginReader not depend on the concrete type of the AbstractMediaDecoder passed to it; r=cpearce

This commit is contained in:
Ehsan Akhgari 2012-11-26 16:12:24 -05:00
Родитель 4a40134208
Коммит f4bd2d33b7
3 изменённых файлов: 8 добавлений и 4 удалений

Просмотреть файл

@ -16,7 +16,7 @@ MediaPluginDecoder::MediaPluginDecoder(const nsACString& aType) : mType(aType)
MediaDecoderStateMachine* MediaPluginDecoder::CreateStateMachine()
{
return new MediaDecoderStateMachine(this, new MediaPluginReader(this));
return new MediaDecoderStateMachine(this, new MediaPluginReader(this, mType));
}
} // namespace mozilla

Просмотреть файл

@ -15,8 +15,10 @@
namespace mozilla {
MediaPluginReader::MediaPluginReader(AbstractMediaDecoder *aDecoder) :
MediaPluginReader::MediaPluginReader(AbstractMediaDecoder *aDecoder,
const nsACString& aContentType) :
MediaDecoderReader(aDecoder),
mType(aContentType),
mPlugin(NULL),
mHasAudio(false),
mHasVideo(false),
@ -24,7 +26,6 @@ MediaPluginReader::MediaPluginReader(AbstractMediaDecoder *aDecoder) :
mAudioSeekTimeUs(-1),
mLastVideoFrame(NULL)
{
static_cast<MediaPluginDecoder *>(aDecoder)->GetContentType(mType);
}
MediaPluginReader::~MediaPluginReader()

Просмотреть файл

@ -11,6 +11,8 @@
#include "MPAPI.h"
class nsACString;
namespace mozilla {
class AbstractMediaDecoder;
@ -27,7 +29,8 @@ class MediaPluginReader : public MediaDecoderReader
int64_t mAudioSeekTimeUs;
VideoData *mLastVideoFrame;
public:
MediaPluginReader(AbstractMediaDecoder* aDecoder);
MediaPluginReader(AbstractMediaDecoder* aDecoder,
const nsACString& aContentType);
~MediaPluginReader();
virtual nsresult Init(MediaDecoderReader* aCloneDonor);