diff options
author | ajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-22 23:59:14 +0000 |
---|---|---|
committer | ajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-22 23:59:14 +0000 |
commit | b2520c779bce29b5ee0613dbb84d93fef0bdb3ea (patch) | |
tree | b0757b50cec03a177917a0c73daf1c7eeb3b174a /media/base/mock_ffmpeg.h | |
parent | 60287ffd30023b51d7f183abb6948a63f9f1eb90 (diff) | |
download | chromium_src-b2520c779bce29b5ee0613dbb84d93fef0bdb3ea.zip chromium_src-b2520c779bce29b5ee0613dbb84d93fef0bdb3ea.tar.gz chromium_src-b2520c779bce29b5ee0613dbb84d93fef0bdb3ea.tar.bz2 |
Refactor FFmpegVideoDecoder::OnDecode and unittest and add state tracking.
The decoder needs a concept of state to know when it should just stop attempting to decode. This is because ffmpeg will sometimes gives spurious frames back, which plays badly with the time presentation timestamp calculation logic.
Review URL: http://codereview.chromium.org/132013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18990 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/mock_ffmpeg.h')
-rw-r--r-- | media/base/mock_ffmpeg.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/media/base/mock_ffmpeg.h b/media/base/mock_ffmpeg.h index 597898e..70f34e3 100644 --- a/media/base/mock_ffmpeg.h +++ b/media/base/mock_ffmpeg.h @@ -14,11 +14,16 @@ namespace media { class MockFFmpeg { public: MockFFmpeg(); - ~MockFFmpeg(); + virtual ~MockFFmpeg(); MOCK_METHOD1(AVCodecFindDecoder, AVCodec*(enum CodecID id)); MOCK_METHOD2(AVCodecOpen, int(AVCodecContext* avctx, AVCodec* codec)); MOCK_METHOD2(AVCodecThreadInit, int(AVCodecContext* avctx, int threads)); + MOCK_METHOD1(AVCodecFlushBuffers, void(AVCodecContext* avctx)); + MOCK_METHOD0(AVCodecAllocFrame, AVFrame*()); + MOCK_METHOD4(AVCodecDecodeVideo2, + int(AVCodecContext* avctx, AVFrame* picture, + int* got_picture_ptr, AVPacket* avpkt)); MOCK_METHOD5(AVOpenInputFile, int(AVFormatContext** format, const char* filename, @@ -32,9 +37,10 @@ class MockFFmpeg { int64_t timestamp, int flags)); + MOCK_METHOD1(AVInitPacket, void(AVPacket* pkt)); MOCK_METHOD2(AVNewPacket, int(AVPacket* packet, int size)); - MOCK_METHOD1(AVFree, void(void* ptr)); MOCK_METHOD1(AVFreePacket, void(AVPacket* packet)); + MOCK_METHOD1(AVFree, void(void* ptr)); // Used for verifying check points during tests. MOCK_METHOD1(CheckPoint, void(int id)); |