blob: e568a4507b7655303c65836764d39c9f5f07ddd5 [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.
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);
};