// 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. module chromecast.media.mojom; struct CodecProfileLevel { int32 codec; int32 profile; int32 level; }; interface MediaCaps { AddObserver(MediaCapsObserver observer); }; interface MediaCapsObserver { // Bitmask values defined in enum HdmiSinkCodec (avsettings.h) SupportedHdmiSinkCodecsChanged(uint32 supported_codec_bitmask); 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); };