• chfremer's avatar
    Reland [Mojo Video Capture] Adapt video_capture service to refactored video capture stack · c79ffd81
    chfremer authored
    PatchSet #1 is the state as previously reviewed and reverted.
    PatchSet #2 fixes the reason for the revert.
    
    Description of Fix:
    The test "AccessIsRevokedOnSecondAccess" was flaky because had an incorrect
    expectation on the order in which events from the service arrive. This is fixed
    by removing this expectation.
    
    Original CL description:
    
    This CL is part of the Mojo Video Capture work. For the bigger picture,
    see [1] CL22b.
    
    Note: The video capture service implementation is currently in an incomplete and
    outdated state and its tests are disabled. With the refactoring of the legacy
    video capture stack now being complete, the next goal is to update the service
    implementation and fit it into the refactored stack.
    
    Changes in this CL:
    * Update Mojo interfaces to more closely resemble their native counterparts.
      - video_capture.mojom.Device offers functionality similar to
        VideoCaptureDeviceLauncher + LaunchedVideoCaptureDevice.
      - video_capture.mojom.DeviceFactory offers functionality similar to
        media::VideoCaptureProvider.
      - video_capture.mojom.Receiver offers functionality similar to
        media::VideoFrameReceiver.
    * In the service implementation, use a VideoCaptureSystem instead of a
      VideoCaptureDeviceFactory directly.
    * Add new adapter classes for plumbing between Mojo service and its usage in
      the native code.
    * Re-enable existing video_capture_unittests and add a few more.
    
    BUG=584797
    TEST=
      service_unittests --gtest_filter="*Video*"
      content_unittests --gtest_filter="*Video*"
      content_browsertests --gtest_filter="VideoCaptureBrowserTest.*"
    TBR=emircan@chromium.org,ochang@chromium.org
    
    [1] https://docs.google.com/a/chromium.org/document/d/1Qw7rw1AJy0QHXjha36jZNiEuxsxWslJ_X-zpOhijvI8/edit?usp=sharing
    
    Review-Url: https://codereview.chromium.org/2843333006
    Cr-Commit-Position: refs/heads/master@{#468024}
    c79ffd81
video_capture_buffer_handle.h 867 Bytes