// 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. module mirroring.mojom; import "components/mirroring/mojom/cast_message_channel.mojom"; import "components/mirroring/mojom/resource_provider.mojom"; import "components/mirroring/mojom/session_observer.mojom"; import "components/mirroring/mojom/session_parameters.mojom"; import "ui/gfx/geometry/mojo/geometry.mojom"; // This interface is used to control a mirroring session. interface MirroringService { // Starts a mirroring session. |max_resolution| is the maximium video // capturing resolution. |observer| will get notifications about lifecycle // events. |outbound_channel| is to handle the cast messages from this service // to the mirroring receiver. |inbound_channel| receives the cast messages // from the mirroring receiver to this service. // To stop the session, just close the message pipe. Start(SessionParameters params, gfx.mojom.Size max_resolution, SessionObserver observer, ResourceProvider resource_provider, CastMessageChannel outbound_channel, CastMessageChannel& inbound_channel); // TODO(xjz): Add interfaces to get the streaming events/stats and mirroring // logs. };