Index: media/filters/ffmpeg_demuxer.cc |
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc |
index fd688d0ad71c667fa8fdada28f0f92f3ae30d782..b91134c4366aa7ae32466097cc22bfd65e6a159f 100644 |
--- a/media/filters/ffmpeg_demuxer.cc |
+++ b/media/filters/ffmpeg_demuxer.cc |
@@ -35,8 +35,6 @@ class AVPacketBuffer : public Buffer { |
packet_(packet.Pass()) { |
} |
- virtual ~AVPacketBuffer() {} |
- |
// Buffer implementation. |
virtual const uint8* GetData() const { |
return reinterpret_cast<const uint8*>(packet_->data); |
@@ -46,6 +44,9 @@ class AVPacketBuffer : public Buffer { |
return packet_->size; |
} |
+ protected: |
+ virtual ~AVPacketBuffer() {} |
+ |
private: |
scoped_ptr_malloc<AVPacket, ScopedPtrAVFreePacket> packet_; |
@@ -84,13 +85,6 @@ FFmpegDemuxerStream::FFmpegDemuxerStream(FFmpegDemuxer* demuxer, |
duration_ = ConvertStreamTimestamp(stream->time_base, stream->duration); |
} |
-FFmpegDemuxerStream::~FFmpegDemuxerStream() { |
- base::AutoLock auto_lock(lock_); |
- DCHECK(stopped_); |
- DCHECK(read_queue_.empty()); |
- DCHECK(buffer_queue_.empty()); |
-} |
- |
bool FFmpegDemuxerStream::HasPendingReads() { |
DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop()); |
base::AutoLock auto_lock(lock_); |
@@ -264,6 +258,13 @@ const VideoDecoderConfig& FFmpegDemuxerStream::video_decoder_config() { |
return video_config_; |
} |
+FFmpegDemuxerStream::~FFmpegDemuxerStream() { |
+ base::AutoLock auto_lock(lock_); |
+ DCHECK(stopped_); |
+ DCHECK(read_queue_.empty()); |
+ DCHECK(buffer_queue_.empty()); |
+} |
+ |
// static |
base::TimeDelta FFmpegDemuxerStream::ConvertStreamTimestamp( |
const AVRational& time_base, int64 timestamp) { |