chromium/chromecast/common/mojom/media_caps.mojom

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module chromecast.media.mojom;

struct CodecProfileLevel {
  int32 codec;
  int32 profile;
  int32 level;
};

// Media capabilities that apply to all applications.
interface MediaCaps {
  // Adds an `observer` to monitor media capability changes.
  AddObserver(pending_remote<MediaCapsObserver> observer);
};

// Observes changes in media capabilities that apply to all applications.
interface MediaCapsObserver {
  // Add supported codec profiles and levels. May not be called on all
  // platforms, but can be used to infer whether a video config is supported.
  AddSupportedCodecProfileLevel(CodecProfileLevel codec_profile_level);
};