diff options
author | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-07 17:35:56 +0000 |
---|---|---|
committer | hclam@chromium.org <hclam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-07 17:35:56 +0000 |
commit | 1dbba251922baea90369abe9fdf239e693afb813 (patch) | |
tree | d6b4fd951ac3893b0149956d12b4c9afa2c01468 /media/base | |
parent | 8931c41ae5392aab1c70f9c9b4e4c64061fdd9af (diff) | |
download | chromium_src-1dbba251922baea90369abe9fdf239e693afb813.zip chromium_src-1dbba251922baea90369abe9fdf239e693afb813.tar.gz chromium_src-1dbba251922baea90369abe9fdf239e693afb813.tar.bz2 |
Cleanup resources allocated by FFmpeg to avoid memory and threads leaks
Calls avcodec_free and avcodec_thread_free appropriately.
Review URL: http://codereview.chromium.org/151192
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20039 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base')
-rw-r--r-- | media/base/mock_ffmpeg.cc | 8 | ||||
-rw-r--r-- | media/base/mock_ffmpeg.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/media/base/mock_ffmpeg.cc b/media/base/mock_ffmpeg.cc index 8a397de..054f996 100644 --- a/media/base/mock_ffmpeg.cc +++ b/media/base/mock_ffmpeg.cc @@ -57,6 +57,10 @@ int avcodec_open(AVCodecContext* avctx, AVCodec* codec) { return media::MockFFmpeg::get()->AVCodecOpen(avctx, codec); } +int avcodec_close(AVCodecContext* avctx) { + return media::MockFFmpeg::get()->AVCodecClose(avctx); +} + int avcodec_thread_init(AVCodecContext* avctx, int threads) { return media::MockFFmpeg::get()->AVCodecThreadInit(avctx, threads); } @@ -83,6 +87,10 @@ int av_open_input_file(AVFormatContext** format, const char* filename, parameters); } +void av_close_input_file(AVFormatContext* format) { + media::MockFFmpeg::get()->AVCloseInputFile(format); +} + int av_find_stream_info(AVFormatContext* format) { return media::MockFFmpeg::get()->AVFindStreamInfo(format); } diff --git a/media/base/mock_ffmpeg.h b/media/base/mock_ffmpeg.h index 70f34e3..3afdef9 100644 --- a/media/base/mock_ffmpeg.h +++ b/media/base/mock_ffmpeg.h @@ -18,6 +18,7 @@ class MockFFmpeg { MOCK_METHOD1(AVCodecFindDecoder, AVCodec*(enum CodecID id)); MOCK_METHOD2(AVCodecOpen, int(AVCodecContext* avctx, AVCodec* codec)); + MOCK_METHOD1(AVCodecClose, int(AVCodecContext* avctx)); MOCK_METHOD2(AVCodecThreadInit, int(AVCodecContext* avctx, int threads)); MOCK_METHOD1(AVCodecFlushBuffers, void(AVCodecContext* avctx)); MOCK_METHOD0(AVCodecAllocFrame, AVFrame*()); @@ -30,6 +31,7 @@ class MockFFmpeg { AVInputFormat* input_format, int buffer_size, AVFormatParameters* parameters)); + MOCK_METHOD1(AVCloseInputFile, void(AVFormatContext* format)); MOCK_METHOD1(AVFindStreamInfo, int(AVFormatContext* format)); MOCK_METHOD2(AVReadFrame, int(AVFormatContext* format, AVPacket* packet)); MOCK_METHOD4(AVSeekFrame, int(AVFormatContext *format, |