diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-17 12:49:26 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-17 12:49:26 +0000 |
commit | e65efc1a7a29d16b3baa0839ecc88c26663d88af (patch) | |
tree | 2075dbaf6e60fc1f2eaf4c35459b9366e104fdb9 /media/mf | |
parent | 9b98f084607bc1e9185be7f29b52f1e4c0fa498d (diff) | |
download | chromium_src-e65efc1a7a29d16b3baa0839ecc88c26663d88af.zip chromium_src-e65efc1a7a29d16b3baa0839ecc88c26663d88af.tar.gz chromium_src-e65efc1a7a29d16b3baa0839ecc88c26663d88af.tar.bz2 |
Implement FakeGlVideoDecodeEngine using FakeGlVideoDecodeContext
Defines UploadToVideoFrame in VideoDecodeContext.
FakeGlVideoDecodeEngine now uses FakeGlVideoDecodeContext to video frame
allocation and uploading.
BUG=53714
TEST=Tree is green
Review URL: http://codereview.chromium.org/3312022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59785 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/mf')
-rw-r--r-- | media/mf/mft_h264_decoder.cc | 1 | ||||
-rw-r--r-- | media/mf/mft_h264_decoder.h | 3 | ||||
-rw-r--r-- | media/mf/mft_h264_decoder_example.cc | 6 | ||||
-rw-r--r-- | media/mf/test/mft_h264_decoder_unittest.cc | 22 |
4 files changed, 15 insertions, 17 deletions
diff --git a/media/mf/mft_h264_decoder.cc b/media/mf/mft_h264_decoder.cc index 6d85f70..e8d6b05 100644 --- a/media/mf/mft_h264_decoder.cc +++ b/media/mf/mft_h264_decoder.cc @@ -170,6 +170,7 @@ MftH264Decoder::~MftH264Decoder() { void MftH264Decoder::Initialize( MessageLoop* message_loop, VideoDecodeEngine::EventHandler* event_handler, + VideoDecodeContext* context, const VideoCodecConfig& config) { LOG(INFO) << "MftH264Decoder::Initialize"; if (state_ != kUninitialized) { diff --git a/media/mf/mft_h264_decoder.h b/media/mf/mft_h264_decoder.h index 61e3c65..57c9e9f 100644 --- a/media/mf/mft_h264_decoder.h +++ b/media/mf/mft_h264_decoder.h @@ -36,7 +36,8 @@ class MftH264Decoder : public media::VideoDecodeEngine { explicit MftH264Decoder(bool use_dxva, HWND draw_window); ~MftH264Decoder(); virtual void Initialize(MessageLoop* message_loop, - media::VideoDecodeEngine::EventHandler* event_handler, + VideoDecodeEngine::EventHandler* event_handler, + VideoDecodeContext* context, const VideoCodecConfig& config); virtual void Uninitialize(); virtual void Flush(); diff --git a/media/mf/mft_h264_decoder_example.cc b/media/mf/mft_h264_decoder_example.cc index 788a2ca..0ed9553 100644 --- a/media/mf/mft_h264_decoder_example.cc +++ b/media/mf/mft_h264_decoder_example.cc @@ -362,11 +362,7 @@ static int Run(bool use_dxva, bool render, const std::string& input_file) { return -1; } - mft->Initialize(MessageLoop::current(), handler.get(), config); - if (!handler->info_.success) { - LOG(ERROR) << "Failed to initialize decoder"; - return -1; - } + mft->Initialize(MessageLoop::current(), handler.get(), NULL, config); scoped_ptr<WindowObserver> observer; if (render) { observer.reset(new WindowObserver(reader.get(), mft.get())); diff --git a/media/mf/test/mft_h264_decoder_unittest.cc b/media/mf/test/mft_h264_decoder_unittest.cc index 67dc07c..11959f7 100644 --- a/media/mf/test/mft_h264_decoder_unittest.cc +++ b/media/mf/test/mft_h264_decoder_unittest.cc @@ -207,7 +207,7 @@ TEST_F(MftH264DecoderTest, DecoderInitMissingArgs) { config.height = 600; scoped_ptr<MftH264Decoder> decoder(new MftH264Decoder(false, NULL)); ASSERT_TRUE(decoder.get()); - decoder->Initialize(NULL, NULL, config); + decoder->Initialize(NULL, NULL, NULL, config); EXPECT_EQ(MftH264Decoder::kUninitialized, decoder->state()); } @@ -219,7 +219,7 @@ TEST_F(MftH264DecoderTest, DecoderInitNoDxva) { config.height = 600; scoped_ptr<MftH264Decoder> decoder(new MftH264Decoder(false, NULL)); ASSERT_TRUE(decoder.get()); - decoder->Initialize(&loop, &handler, config); + decoder->Initialize(&loop, &handler, NULL, config); EXPECT_EQ(1, handler.init_count_); EXPECT_EQ(MftH264Decoder::kNormal, decoder->state()); decoder->Uninitialize(); @@ -235,7 +235,7 @@ TEST_F(MftH264DecoderTest, DecoderInitDxva) { ASSERT_TRUE(hwnd); scoped_ptr<MftH264Decoder> decoder(new MftH264Decoder(true, hwnd)); ASSERT_TRUE(decoder.get()); - decoder->Initialize(&loop, &handler, config); + decoder->Initialize(&loop, &handler, NULL, config); EXPECT_EQ(1, handler.init_count_); EXPECT_EQ(MftH264Decoder::kNormal, decoder->state()); decoder->Uninitialize(); @@ -250,7 +250,7 @@ TEST_F(MftH264DecoderTest, DecoderUninit) { config.height = 600; scoped_ptr<MftH264Decoder> decoder(new MftH264Decoder(false, NULL)); ASSERT_TRUE(decoder.get()); - decoder->Initialize(&loop, &handler, config); + decoder->Initialize(&loop, &handler, NULL, config); EXPECT_EQ(MftH264Decoder::kNormal, decoder->state()); decoder->Uninitialize(); EXPECT_EQ(1, handler.uninit_count_); @@ -277,7 +277,7 @@ TEST_F(MftH264DecoderTest, InitWithNegativeDimensions) { config.height = -456; scoped_ptr<MftH264Decoder> decoder(new MftH264Decoder(false, NULL)); ASSERT_TRUE(decoder.get()); - decoder->Initialize(&loop, &handler, config); + decoder->Initialize(&loop, &handler, NULL, config); EXPECT_EQ(MftH264Decoder::kNormal, decoder->state()); EXPECT_EQ(kDecoderMaxWidth, handler.info_.stream_info.surface_width); EXPECT_EQ(kDecoderMaxHeight, handler.info_.stream_info.surface_height); @@ -292,7 +292,7 @@ TEST_F(MftH264DecoderTest, InitWithTooHighDimensions) { config.height = kDecoderMaxHeight + 1; scoped_ptr<MftH264Decoder> decoder(new MftH264Decoder(false, NULL)); ASSERT_TRUE(decoder.get()); - decoder->Initialize(&loop, &handler, config); + decoder->Initialize(&loop, &handler, NULL, config); EXPECT_EQ(MftH264Decoder::kNormal, decoder->state()); EXPECT_EQ(kDecoderMaxWidth, handler.info_.stream_info.surface_width); EXPECT_EQ(kDecoderMaxHeight, handler.info_.stream_info.surface_height); @@ -307,7 +307,7 @@ TEST_F(MftH264DecoderTest, DrainOnEmptyBuffer) { config.height = 768; scoped_ptr<MftH264Decoder> decoder(new MftH264Decoder(false, NULL)); ASSERT_TRUE(decoder.get()); - decoder->Initialize(&loop, &handler, config); + decoder->Initialize(&loop, &handler, NULL, config); EXPECT_EQ(MftH264Decoder::kNormal, decoder->state()); scoped_refptr<Buffer> buffer(new DataBuffer(0)); @@ -336,7 +336,7 @@ TEST_F(MftH264DecoderTest, NoOutputOnGarbageInput) { config.height = 768; scoped_ptr<MftH264Decoder> decoder(new MftH264Decoder(false, NULL)); ASSERT_TRUE(decoder.get()); - decoder->Initialize(&loop, &handler, config); + decoder->Initialize(&loop, &handler, NULL, config); EXPECT_EQ(MftH264Decoder::kNormal, decoder->state()); handler.SetReader(reader); handler.SetDecoder(decoder.get()); @@ -364,7 +364,7 @@ TEST_F(MftH264DecoderTest, FlushAtStart) { config.height = 768; scoped_ptr<MftH264Decoder> decoder(new MftH264Decoder(false, NULL)); ASSERT_TRUE(decoder.get()); - decoder->Initialize(&loop, &handler, config); + decoder->Initialize(&loop, &handler, NULL, config); EXPECT_EQ(MftH264Decoder::kNormal, decoder->state()); decoder->Flush(); @@ -384,7 +384,7 @@ TEST_F(MftH264DecoderTest, NoFlushAtStopped) { config.height = 768; scoped_ptr<MftH264Decoder> decoder(new MftH264Decoder(false, NULL)); ASSERT_TRUE(decoder.get()); - decoder->Initialize(&loop, &handler, config); + decoder->Initialize(&loop, &handler, NULL, config); EXPECT_EQ(MftH264Decoder::kNormal, decoder->state()); handler.SetReader(reader); handler.SetDecoder(decoder.get()); @@ -429,7 +429,7 @@ void DecodeValidVideo(const std::string& filename, int num_frames, bool dxva) { ASSERT_TRUE(hwnd); scoped_ptr<MftH264Decoder> decoder(new MftH264Decoder(dxva, hwnd)); ASSERT_TRUE(decoder.get()); - decoder->Initialize(&loop, &handler, config); + decoder->Initialize(&loop, &handler, NULL, config); EXPECT_EQ(MftH264Decoder::kNormal, decoder->state()); handler.SetReader(reader); handler.SetDecoder(decoder.get()); |