| // 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 "media/capture/mojom/video_capture.mojom"; |
| import "services/network/public/mojom/network_context.mojom"; |
| import "media/mojo/interfaces/remoting.mojom"; |
| import "media/mojo/interfaces/audio_data_pipe.mojom"; |
| import "media/mojo/interfaces/audio_input_stream.mojom"; |
| import "media/mojo/interfaces/audio_parameters.mojom"; |
| |
| // This interface is used by ResourceProvider to notify that an audio input |
| // stream is created as requested. The lifetime of the stream is limited by the |
| // lifetime of this client. |
| interface AudioStreamCreatorClient { |
| StreamCreated( |
| media.mojom.AudioInputStream stream, |
| media.mojom.AudioInputStreamClient& client_request, |
| media.mojom.ReadOnlyAudioDataPipe data_pipe, |
| bool initially_muted); |
| }; |
| |
| // This interface is used by the Mirroring Service to ask the browser to provide |
| // resources. |
| interface ResourceProvider { |
| GetVideoCaptureHost(media.mojom.VideoCaptureHost& request); |
| GetNetworkContext(network.mojom.NetworkContext& request); |
| CreateAudioStream(AudioStreamCreatorClient client, |
| media.mojom.AudioParameters param, |
| uint32 shared_memory_count); |
| ConnectToRemotingSource(media.mojom.Remoter remoter, |
| media.mojom.RemotingSource& request); |
| |
| // TODO(xjz): Add interface for HW encoder profiles query and VEA create |
| // support. |
| }; |