summaryrefslogtreecommitdiffstats
path: root/media/mf
diff options
context:
space:
mode:
authorhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-17 12:49:26 +0000
committerhclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-17 12:49:26 +0000
commite65efc1a7a29d16b3baa0839ecc88c26663d88af (patch)
tree2075dbaf6e60fc1f2eaf4c35459b9366e104fdb9 /media/mf
parent9b98f084607bc1e9185be7f29b52f1e4c0fa498d (diff)
downloadchromium_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.cc1
-rw-r--r--media/mf/mft_h264_decoder.h3
-rw-r--r--media/mf/mft_h264_decoder_example.cc6
-rw-r--r--media/mf/test/mft_h264_decoder_unittest.cc22
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());