// 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 chromecast.shell.mojom;

// Receives messages from browser process to control media playback options
// (block loading, background playback) for a specific RenderFrame.
// Implemented by a RenderFrameObserver.
interface MediaPlaybackOptions {
  SetMediaLoadingBlocked(bool blocked);

  SetBackgroundVideoPlaybackEnabled(bool enabled);

  // Enable CMA (MojoRenderer) for media playback.
  // Otherwise, media playback uses RendererImpl, which is the same as other
  // platforms. For video codec supported by v4l2 (e.g. h264), it's still
  // accelerated by hardware. Video will be rendererd on graphics plane.
  SetUseCmaRenderer(bool enabled);
};
