Index: media/filters/gpu_video_decoder.cc |
diff --git a/media/filters/gpu_video_decoder.cc b/media/filters/gpu_video_decoder.cc |
index 17b46fab8e7a9786f7b9941e746b5934a5a998cd..74b3b1abbdde6e5365249ba54dae330ea149db76 100644 |
--- a/media/filters/gpu_video_decoder.cc |
+++ b/media/filters/gpu_video_decoder.cc |
@@ -58,22 +58,6 @@ GpuVideoDecoder::GpuVideoDecoder( |
DCHECK(gvd_loop_proxy_ && factories_); |
} |
-GpuVideoDecoder::~GpuVideoDecoder() { |
- DCHECK(!vda_); // Stop should have been already called. |
- DCHECK(pending_read_cb_.is_null()); |
- for (size_t i = 0; i < available_shm_segments_.size(); ++i) { |
- available_shm_segments_[i]->shm->Close(); |
- delete available_shm_segments_[i]; |
- } |
- available_shm_segments_.clear(); |
- for (std::map<int32, BufferPair>::iterator it = |
- bitstream_buffers_in_decoder_.begin(); |
- it != bitstream_buffers_in_decoder_.end(); ++it) { |
- it->second.shm_buffer->shm->Close(); |
- } |
- bitstream_buffers_in_decoder_.clear(); |
-} |
- |
void GpuVideoDecoder::Reset(const base::Closure& closure) { |
if (!gvd_loop_proxy_->BelongsToCurrentThread() || |
state_ == kDrainingDecoder) { |
@@ -472,6 +456,22 @@ void GpuVideoDecoder::NotifyEndOfBitstreamBuffer(int32 id) { |
} |
} |
+GpuVideoDecoder::~GpuVideoDecoder() { |
+ DCHECK(!vda_); // Stop should have been already called. |
+ DCHECK(pending_read_cb_.is_null()); |
+ for (size_t i = 0; i < available_shm_segments_.size(); ++i) { |
+ available_shm_segments_[i]->shm->Close(); |
+ delete available_shm_segments_[i]; |
+ } |
+ available_shm_segments_.clear(); |
+ for (std::map<int32, BufferPair>::iterator it = |
+ bitstream_buffers_in_decoder_.begin(); |
+ it != bitstream_buffers_in_decoder_.end(); ++it) { |
+ it->second.shm_buffer->shm->Close(); |
+ } |
+ bitstream_buffers_in_decoder_.clear(); |
+} |
+ |
void GpuVideoDecoder::EnsureDemuxOrDecode() { |
DCHECK(gvd_loop_proxy_->BelongsToCurrentThread()); |
if (demuxer_read_in_progress_) |