summaryrefslogtreecommitdiffstats
path: root/media/base/mock_ffmpeg.h
diff options
context:
space:
mode:
authorajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-22 23:59:14 +0000
committerajwong@chromium.org <ajwong@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-22 23:59:14 +0000
commitb2520c779bce29b5ee0613dbb84d93fef0bdb3ea (patch)
treeb0757b50cec03a177917a0c73daf1c7eeb3b174a /media/base/mock_ffmpeg.h
parent60287ffd30023b51d7f183abb6948a63f9f1eb90 (diff)
downloadchromium_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.h10
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));