// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Next MinVersion: 1

module chromeos.media_perception.mojom;

import "chromeos/services/media_perception/public/mojom/media_perception.mojom";
import "services/video_capture/public/mojom/video_source_provider.mojom";

// Used to establish two-way communication between a client and the media
// perception service.
interface MediaPerceptionService {
  GetController@0(MediaPerceptionController& request,
                  MediaPerceptionControllerClient client);
};

interface MediaPerceptionController {
  // Used by the client to establish a MediaPerception pipe.
  ActivateMediaPerception@0(MediaPerception& request);
};

interface MediaPerceptionControllerClient {
  // Interface for the service to connect to the Video Capture Service
  // directly via a Mojo pipe set up through a DeviceFactory request.
  ConnectToVideoCaptureService@0(
      video_capture.mojom.VideoSourceProvider& request);
};

