Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(396)

Issue 2621743002: Reland2 [Mojo Video Capture] Replace method OnIncomingCapturedVideoFrame() with OnIncomingCapturedBu (Closed)

Created:
3 years, 11 months ago by chfremer
Modified:
3 years, 11 months ago
Reviewers:
mcasas, miu
CC:
chromium-reviews, posciak+watch_chromium.org, chfremer+watch_chromium.org, jam, feature-media-reviews_chromium.org, darin-cc_chromium.org, mcasas+watch+vc_chromium.org, xjz+watch_chromium.org, miu+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland2 [Mojo Video Capture] Replace method OnIncomingCapturedVideoFrame() with OnIncomingCapturedBufferExt() PatchSet#1 is the state as previously reviewed, landed, and reverted. PatchSet#2 is the fix for the caused issue. Description of issue and fix: The original CL caused crbug.com/678766. Method OnIncomingCapturedBufferExt() unwrapped |memory_handle| and passed it to |frame|. However, |frame| did not take ownership, resulting in |memory_handle| never getting closed. Since the memory handle inside |frame| is not being used downstream anyway, the fix is to use a NULLHandle() instead of unwrapping and attaching ownership. Description of original CL: In interface media:VideoCaptureDevice::Client, replaced the method OnIncomingCapturedVideoFrame() with OnIncomingCapturedBufferExt(). Compared to method OnIncomingCaptureBuffer(), the VideoFrame parameter in OnIncomingCapturedVideoFrame() was only used for passing along a bit of extra information, namely a custom |visible_rect| as well as some |additional_metadata|. The new method makes the intent clear and eliminates the need for passing a media::VideoFrame that is partly redundant with the also passed media::VideoCaptureDevice::Client::Buffer. This CL breaks the video_capture_unittests, because current implementation of the video_capture service wants to use VideoCaptureDeviceClient with buffers that are backed by MojoSharedMemoryBufferTracker instances instead of the "regular" shared memory buffers. With this CL, VideoCaptureDeviceClient is dropping support for this. We are working towards making the video_capture service work with the regular buffers. To keep CLs small, we defer changes to the service to after refactorings of VideoCaptureController and VideoCaptureManager are complete and deactive the video_capture_unittests temporarily. This is acceptable for the time being, since they are not run on the bots yet. The CL that re-enables them is currently labeled CL1.9.22 in the design doc. This CL is part of the Mojo Video Capture work. For the bigger picture, see [1] CL1.9.9 BUG=584797 TEST= content_unittests --gtest_filter="*Video*", video_capture_unittests, Apprtc loopback on Debug, Desktop Capture Example extension on Release [1] https://docs.google.com/a/chromium.org/document/d/1Qw7rw1AJy0QHXjha36jZNiEuxsxWslJ_X-zpOhijvI8/edit?usp=sharing Committed: https://crrev.com/fc2e2a6f6597cf6582673572bbf22268e445dac0 Cr-Original-Commit-Position: refs/heads/master@{#441391} Review-Url: https://codereview.chromium.org/2621743002 Cr-Commit-Position: refs/heads/master@{#442796} Committed: https://chromium.googlesource.com/chromium/src/+/690089d348c70b998fa589cd8ac74a5b274ee2a7

Patch Set 1 : As previously reviewed and reverted #

Patch Set 2 : Fix for shared memory handle not closed. #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+221 lines, -188 lines) Patch
M content/browser/media/capture/desktop_capture_device_aura_unittest.cc View 1 chunk +6 lines, -2 lines 0 comments Download
M content/browser/media/capture/desktop_capture_device_unittest.cc View 1 chunk +7 lines, -3 lines 0 comments Download
M content/browser/media/capture/screen_capture_device_android_unittest.cc View 1 chunk +6 lines, -2 lines 0 comments Download
M content/browser/media/capture/web_contents_video_capture_device_unittest.cc View 1 chunk +17 lines, -12 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_controller_unittest.cc View 14 chunks +85 lines, -97 lines 0 comments Download
M media/capture/content/thread_safe_capture_oracle.cc View 1 chunk +27 lines, -20 lines 0 comments Download
M media/capture/video/fake_video_capture_device_unittest.cc View 1 chunk +6 lines, -4 lines 0 comments Download
M media/capture/video/linux/v4l2_capture_delegate_unittest.cc View 1 chunk +6 lines, -2 lines 0 comments Download
M media/capture/video/video_capture_device.h View 1 chunk +15 lines, -13 lines 0 comments Download
M media/capture/video/video_capture_device_client.h View 1 chunk +6 lines, -2 lines 0 comments Download
M media/capture/video/video_capture_device_client.cc View 1 2 chunks +24 lines, -20 lines 2 comments Download
M media/capture/video/video_capture_device_unittest.cc View 1 chunk +7 lines, -2 lines 0 comments Download
M services/video_capture/test/fake_device_descriptor_unittest.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M services/video_capture/test/fake_device_unittest.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M services/video_capture/test/mock_device_unittest.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M services/video_capture/test/service_unittest.cc View 3 chunks +3 lines, -3 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 17 (11 generated)
chfremer
mcasas@: PTAL miu@: PTAL Fixed issue of file handles not getting closed.
3 years, 11 months ago (2017-01-09 20:53:42 UTC) #5
miu
lgtm % decision for you: https://codereview.chromium.org/2621743002/diff/20001/media/capture/video/video_capture_device_client.cc File media/capture/video/video_capture_device_client.cc (right): https://codereview.chromium.org/2621743002/diff/20001/media/capture/video/video_capture_device_client.cc#newcode319 media/capture/video/video_capture_device_client.cc:319: base::SharedMemory::NULLHandle(), // handle This ...
3 years, 11 months ago (2017-01-10 23:32:19 UTC) #10
chfremer
miu@ Thanks for the review. mcasas@: Please RS https://codereview.chromium.org/2621743002/diff/20001/media/capture/video/video_capture_device_client.cc File media/capture/video/video_capture_device_client.cc (right): https://codereview.chromium.org/2621743002/diff/20001/media/capture/video/video_capture_device_client.cc#newcode319 media/capture/video/video_capture_device_client.cc:319: base::SharedMemory::NULLHandle(), ...
3 years, 11 months ago (2017-01-10 23:45:29 UTC) #11
mcasas
On 2017/01/10 23:45:29, chfremer wrote: > miu@ Thanks for the review. > mcasas@: Please RS ...
3 years, 11 months ago (2017-01-10 23:48:04 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2621743002/20001
3 years, 11 months ago (2017-01-10 23:53:21 UTC) #14
commit-bot: I haz the power
3 years, 11 months ago (2017-01-11 04:16:16 UTC) #17
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/chromium/src/+/690089d348c70b998fa589cd8ac7...

Powered by Google App Engine
This is Rietveld 408576698