blob: 2c33389dab825dd43bc1dba1eb4a2eee7b1191b0 [file] [log] [blame]
// Copyright 2016 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.
struct CodecProfileLevel {
int32 codec;
int32 profile;
int32 level;
// Media capabilities that apply to all applications.
interface MediaCaps {
AddObserver(MediaCapsObserver observer);
// Observes changes in media capabilities that apply to all applications.
interface MediaCapsObserver {
ScreenResolutionChanged(uint32 width, uint32 height);
// EOTFs and Dolby Vision flags defined in avsettings.h
ScreenInfoChanged(int32 hdcp_version, int32 supported_eotfs,
int32 dolby_vision_flags, int32 screen_width_mm,
int32 screen_height_mm, bool current_mode_supports_hdr,
bool current_mode_supports_dolby_vision);
// 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);