blob: 6b116372c93fe2551a790bf5a0c6d32a9337f744 [file] [log] [blame]
// 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.
};