diff options
Diffstat (limited to 'chromium/media/filters/ffmpeg_video_decoder.h')
-rw-r--r-- | chromium/media/filters/ffmpeg_video_decoder.h | 10 |
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); }; |