chromium/chromeos/services/media_perception/public/mojom/media_perception_service.mojom

// Copyright 2018 The Chromium Authors
// 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(pending_receiver<MediaPerceptionController> receiver,
                  pending_remote<MediaPerceptionControllerClient> client);
};

interface MediaPerceptionController {
  // Used by the client to establish a MediaPerception pipe.
  ActivateMediaPerception@0(pending_receiver<MediaPerception> receiver);
};

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(
      pending_receiver<video_capture.mojom.VideoSourceProvider> receiver);
};