summaryrefslogtreecommitdiff
path: root/chromium/media/filters/ffmpeg_audio_decoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/filters/ffmpeg_audio_decoder.h')
-rw-r--r--chromium/media/filters/ffmpeg_audio_decoder.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/chromium/media/filters/ffmpeg_audio_decoder.h b/chromium/media/filters/ffmpeg_audio_decoder.h
index 44c98305f3d..296384796a2 100644
--- a/chromium/media/filters/ffmpeg_audio_decoder.h
+++ b/chromium/media/filters/ffmpeg_audio_decoder.h
@@ -8,6 +8,7 @@
#include <list>
#include "base/callback.h"
+#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/time/time.h"
#include "media/base/audio_decoder.h"
@@ -25,6 +26,8 @@ namespace media {
class AudioTimestampHelper;
class DecoderBuffer;
+class ScopedPtrAVFreeContext;
+class ScopedPtrAVFreeFrame;
// Helper structure for managing multiple decoded audio frames per packet.
struct QueuedAudioBuffer {
@@ -32,7 +35,6 @@ struct QueuedAudioBuffer {
scoped_refptr<AudioBuffer> buffer;
};
-
class MEDIA_EXPORT FFmpegAudioDecoder : public AudioDecoder {
public:
explicit FFmpegAudioDecoder(
@@ -72,7 +74,7 @@ class MEDIA_EXPORT FFmpegAudioDecoder : public AudioDecoder {
DemuxerStream* demuxer_stream_;
StatisticsCB statistics_cb_;
- AVCodecContext* codec_context_;
+ scoped_ptr_malloc<AVCodecContext, ScopedPtrAVFreeContext> codec_context_;
// Decoded audio format.
int bytes_per_channel_;
@@ -92,7 +94,7 @@ class MEDIA_EXPORT FFmpegAudioDecoder : public AudioDecoder {
int output_frames_to_drop_;
// Holds decoded audio.
- AVFrame* av_frame_;
+ scoped_ptr_malloc<AVFrame, ScopedPtrAVFreeFrame> av_frame_;
ReadCB read_cb_;