blob: 649711cd3f66741850170004286b64693f22a814 [file] [log] [blame]
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_CAST_STREAMING_BROWSER_RENDERER_CONTROLLER_CONFIG_H_
#define COMPONENTS_CAST_STREAMING_BROWSER_RENDERER_CONTROLLER_CONFIG_H_
#include "components/cast_streaming/public/mojom/renderer_controller.mojom.h"
#include "media/mojo/mojom/renderer.mojom.h"
#include "mojo/public/cpp/bindings/associated_remote.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
namespace cast_streaming {
struct RendererControllerConfig {
RendererControllerConfig();
RendererControllerConfig(
mojo::AssociatedRemote<mojom::RendererController> control_config,
mojo::PendingReceiver<media::mojom::Renderer> external_renderer_control);
RendererControllerConfig(RendererControllerConfig&& other);
~RendererControllerConfig();
RendererControllerConfig& operator=(RendererControllerConfig&& other);
// Mojo pipe required to set up a connection between the browser process
// controls and the renderer-process PlaybackCommandForwardingRenderer.
mojo::AssociatedRemote<mojom::RendererController> control_configuration;
// Provides an external channel by which the underlying Renderer may be
// controlled outside of those used during a Remoting session.
mojo::PendingReceiver<media::mojom::Renderer> external_renderer_controls;
};
} // namespace cast_streaming
#endif // COMPONENTS_CAST_STREAMING_BROWSER_RENDERER_CONTROLLER_CONFIG_H_