summaryrefslogtreecommitdiff
path: root/chromium/media/filters/ffmpeg_video_decoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/filters/ffmpeg_video_decoder.h')
-rw-r--r--chromium/media/filters/ffmpeg_video_decoder.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/chromium/media/filters/ffmpeg_video_decoder.h b/chromium/media/filters/ffmpeg_video_decoder.h
index 1f032266951..28bb4e0d0cc 100644
--- a/chromium/media/filters/ffmpeg_video_decoder.h
+++ b/chromium/media/filters/ffmpeg_video_decoder.h
@@ -8,9 +8,11 @@
#include <list>
#include "base/callback.h"
+#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "media/base/video_decoder.h"
#include "media/base/video_decoder_config.h"
+#include "media/base/video_frame_pool.h"
struct AVCodecContext;
struct AVFrame;
@@ -22,6 +24,8 @@ class MessageLoopProxy;
namespace media {
class DecoderBuffer;
+class ScopedPtrAVFreeContext;
+class ScopedPtrAVFreeFrame;
class MEDIA_EXPORT FFmpegVideoDecoder : public VideoDecoder {
public:
@@ -77,11 +81,13 @@ class MEDIA_EXPORT FFmpegVideoDecoder : public VideoDecoder {
base::Closure reset_cb_;
// FFmpeg structures owned by this object.
- AVCodecContext* codec_context_;
- AVFrame* av_frame_;
+ scoped_ptr_malloc<AVCodecContext, ScopedPtrAVFreeContext> codec_context_;
+ scoped_ptr_malloc<AVFrame, ScopedPtrAVFreeFrame> av_frame_;
VideoDecoderConfig config_;
+ VideoFramePool frame_pool_;
+
DISALLOW_COPY_AND_ASSIGN(FFmpegVideoDecoder);
};