Chromium Code Reviews| Index: content/renderer/media/video_capture_impl.cc |
| diff --git a/content/renderer/media/video_capture_impl.cc b/content/renderer/media/video_capture_impl.cc |
| index 174344d88a1747fe47a34ed8a42211990473af24..8d09c2070116ab5f5dc6e53bf529dd96430c4056 100644 |
| --- a/content/renderer/media/video_capture_impl.cc |
| +++ b/content/renderer/media/video_capture_impl.cc |
| @@ -359,7 +359,21 @@ void VideoCaptureImpl::OnBufferReceived( |
| weak_factory_.GetWeakPtr(), buffer_id, buffer)); |
| } else { |
| scoped_refptr<ClientBuffer> buffer; |
| - if (storage_type == media::VideoFrame::STORAGE_UNOWNED_MEMORY) { |
| + if (storage_type == media::VideoFrame::STORAGE_OPAQUE) { |
| + DCHECK(mailbox_holder.mailbox.Verify()); |
| + DCHECK_EQ(media::PIXEL_FORMAT_ARGB, pixel_format); |
| + frame = media::VideoFrame::WrapNativeTexture( |
| + pixel_format, |
| + mailbox_holder, |
| + base::Bind(&SaveReleaseSyncToken, release_sync_token.get()), |
| + coded_size, |
| + gfx::Rect(coded_size), |
| + coded_size, |
| + timestamp - first_frame_timestamp_); |
| + } |
| + else { |
| + DCHECK(storage_type == media::VideoFrame::STORAGE_UNOWNED_MEMORY || |
| + storage_type == media::VideoFrame::STORAGE_SHMEM); |
| DCHECK_EQ(media::PIXEL_FORMAT_I420, pixel_format); |
| const auto& iter = client_buffers_.find(buffer_id); |
| DCHECK(iter != client_buffers_.end()); |
| @@ -375,16 +389,8 @@ void VideoCaptureImpl::OnBufferReceived( |
| buffer->buffer()->handle(), |
| 0 /* shared_memory_offset */, |
| timestamp - first_frame_timestamp_); |
| - } else { |
| - DCHECK_EQ(storage_type, media::VideoFrame::STORAGE_OPAQUE); |
| - DCHECK(mailbox_holder.mailbox.Verify()); |
| - DCHECK_EQ(media::PIXEL_FORMAT_ARGB, pixel_format); |
| - frame = media::VideoFrame::WrapNativeTexture( |
| - pixel_format, mailbox_holder, |
| - base::Bind(&SaveReleaseSyncToken, release_sync_token.get()), |
| - coded_size, gfx::Rect(coded_size), coded_size, |
| - timestamp - first_frame_timestamp_); |
| } |
| + DCHECK(frame); |
|
Pawel Osciak
2015/11/05 23:49:26
nullptr is a valid return value from Wrap*() metho
|
| buffer_finished_callback = media::BindToCurrentLoop( |
| base::Bind(&VideoCaptureImpl::OnClientBufferFinished, |
| weak_factory_.GetWeakPtr(), buffer_id, buffer)); |