OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <stdint.h> | 5 #include <stdint.h> |
6 | 6 |
7 #include <list> | 7 #include <list> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/bind.h" | 11 #include "base/bind.h" |
12 #include "base/callback_helpers.h" | 12 #include "base/callback_helpers.h" |
13 #include "base/macros.h" | 13 #include "base/macros.h" |
| 14 #include "base/memory/ref_counted.h" |
14 #include "base/memory/singleton.h" | 15 #include "base/memory/singleton.h" |
15 #include "base/message_loop/message_loop.h" | 16 #include "base/message_loop/message_loop.h" |
16 #include "base/run_loop.h" | 17 #include "base/run_loop.h" |
17 #include "base/strings/string_util.h" | 18 #include "base/strings/string_util.h" |
18 #include "media/base/decoder_buffer.h" | 19 #include "media/base/decoder_buffer.h" |
19 #include "media/base/gmock_callback_support.h" | 20 #include "media/base/gmock_callback_support.h" |
20 #include "media/base/limits.h" | 21 #include "media/base/limits.h" |
| 22 #include "media/base/media_log.h" |
21 #include "media/base/media_util.h" | 23 #include "media/base/media_util.h" |
22 #include "media/base/mock_filters.h" | 24 #include "media/base/mock_filters.h" |
23 #include "media/base/test_data_util.h" | 25 #include "media/base/test_data_util.h" |
24 #include "media/base/test_helpers.h" | 26 #include "media/base/test_helpers.h" |
25 #include "media/base/video_decoder.h" | 27 #include "media/base/video_decoder.h" |
26 #include "media/base/video_frame.h" | 28 #include "media/base/video_frame.h" |
27 #include "media/base/video_util.h" | 29 #include "media/base/video_util.h" |
28 #include "media/ffmpeg/ffmpeg_common.h" | 30 #include "media/ffmpeg/ffmpeg_common.h" |
29 #include "media/filters/ffmpeg_glue.h" | 31 #include "media/filters/ffmpeg_glue.h" |
30 #include "media/filters/ffmpeg_video_decoder.h" | 32 #include "media/filters/ffmpeg_video_decoder.h" |
(...skipping 15 matching lines...) Expand all Loading... |
46 static const gfx::Rect kVisibleRect(320, 240); | 48 static const gfx::Rect kVisibleRect(320, 240); |
47 static const gfx::Size kNaturalSize(320, 240); | 49 static const gfx::Size kNaturalSize(320, 240); |
48 | 50 |
49 ACTION_P(ReturnBuffer, buffer) { | 51 ACTION_P(ReturnBuffer, buffer) { |
50 arg0.Run(buffer.get() ? DemuxerStream::kOk : DemuxerStream::kAborted, buffer); | 52 arg0.Run(buffer.get() ? DemuxerStream::kOk : DemuxerStream::kAborted, buffer); |
51 } | 53 } |
52 | 54 |
53 class FFmpegVideoDecoderTest : public testing::Test { | 55 class FFmpegVideoDecoderTest : public testing::Test { |
54 public: | 56 public: |
55 FFmpegVideoDecoderTest() | 57 FFmpegVideoDecoderTest() |
56 : decoder_(new FFmpegVideoDecoder()), | 58 : decoder_(new FFmpegVideoDecoder(make_scoped_refptr(new MediaLog()))), |
57 decode_cb_(base::Bind(&FFmpegVideoDecoderTest::DecodeDone, | 59 decode_cb_(base::Bind(&FFmpegVideoDecoderTest::DecodeDone, |
58 base::Unretained(this))) { | 60 base::Unretained(this))) { |
59 FFmpegGlue::InitializeFFmpeg(); | 61 FFmpegGlue::InitializeFFmpeg(); |
60 | 62 |
61 // Initialize various test buffers. | 63 // Initialize various test buffers. |
62 frame_buffer_.reset(new uint8_t[kCodedSize.GetArea()]); | 64 frame_buffer_.reset(new uint8_t[kCodedSize.GetArea()]); |
63 end_of_stream_buffer_ = DecoderBuffer::CreateEOSBuffer(); | 65 end_of_stream_buffer_ = DecoderBuffer::CreateEOSBuffer(); |
64 i_frame_buffer_ = ReadTestDataFile("vp8-I-frame-320x240"); | 66 i_frame_buffer_ = ReadTestDataFile("vp8-I-frame-320x240"); |
65 corrupt_i_frame_buffer_ = ReadTestDataFile("vp8-corrupt-I-frame"); | 67 corrupt_i_frame_buffer_ = ReadTestDataFile("vp8-corrupt-I-frame"); |
66 } | 68 } |
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 | 359 |
358 // Test destruction when decoder has hit end of stream. | 360 // Test destruction when decoder has hit end of stream. |
359 TEST_F(FFmpegVideoDecoderTest, Destroy_EndOfStream) { | 361 TEST_F(FFmpegVideoDecoderTest, Destroy_EndOfStream) { |
360 Initialize(); | 362 Initialize(); |
361 EnterDecodingState(); | 363 EnterDecodingState(); |
362 EnterEndOfStreamState(); | 364 EnterEndOfStreamState(); |
363 Destroy(); | 365 Destroy(); |
364 } | 366 } |
365 | 367 |
366 } // namespace media | 368 } // namespace media |
OLD | NEW |