Chromium Code Reviews| Index: media/gpu/vt_video_decode_accelerator_mac.cc |
| diff --git a/media/gpu/vt_video_decode_accelerator_mac.cc b/media/gpu/vt_video_decode_accelerator_mac.cc |
| index 2b37130506e297534a4382db4e07a01eedb4ae7c..8a61575c382a0d4f8ce22523a49b314a11d90b62 100644 |
| --- a/media/gpu/vt_video_decode_accelerator_mac.cc |
| +++ b/media/gpu/vt_video_decode_accelerator_mac.cc |
| @@ -866,13 +866,15 @@ void VTVideoDecodeAccelerator::AssignPictureBuffers( |
| void VTVideoDecodeAccelerator::ReusePictureBuffer(int32_t picture_id) { |
| DCHECK(gpu_thread_checker_.CalledOnValidThread()); |
| - DCHECK(picture_info_map_.count(picture_id)); |
| - PictureInfo* picture_info = picture_info_map_.find(picture_id)->second.get(); |
| - picture_info->cv_image.reset(); |
| - picture_info->gl_image->Destroy(false); |
|
sandersd (OOO until July 31)
2016/08/12 22:03:19
ccameron@: Are we relying on this to always happen
sandersd (OOO until July 31)
2016/08/12 22:56:39
I realized there was a better factoring without th
|
| - picture_info->gl_image = nullptr; |
| if (assigned_picture_ids_.count(picture_id) != 0) { |
| + auto it = picture_info_map_.find(picture_id); |
| + DCHECK_NE(it, picture_info_map_.end()); |
| + PictureInfo* picture_info = it->second.get(); |
| + picture_info->cv_image.reset(); |
| + picture_info->gl_image->Destroy(false); |
| + picture_info->gl_image = nullptr; |
| + |
| available_picture_ids_.push_back(picture_id); |
| ProcessWorkQueues(); |
| } else { |
| @@ -1024,8 +1026,9 @@ bool VTVideoDecodeAccelerator::SendFrame(const Frame& frame) { |
| return false; |
| int32_t picture_id = available_picture_ids_.back(); |
| - DCHECK(picture_info_map_.count(picture_id)); |
| - PictureInfo* picture_info = picture_info_map_.find(picture_id)->second.get(); |
| + auto it = picture_info_map_.find(picture_id); |
| + DCHECK_NE(it, picture_info_map_.end()); |
| + PictureInfo* picture_info = it->second.get(); |
| DCHECK(!picture_info->cv_image); |
| DCHECK(!picture_info->gl_image); |