#ifndef CHROMECAST_MEDIA_BASE_MEDIA_CAPS_H_
#define CHROMECAST_MEDIA_BASE_MEDIA_CAPS_H_
#include "ui/gfx/geometry/size.h"
namespace chromecast {
namespace media {
class MediaCapabilities {
public:
static void ScreenResolutionChanged(const gfx::Size& res);
static void ScreenInfoChanged(int hdcp_version,
int supported_eotfs,
int dolby_vision_flags,
int screen_width_mm,
int screen_height_mm,
bool cur_mode_supports_hdr,
bool cur_mode_supports_dv);
static int GetHdcpVersion();
static bool HdmiSinkSupportsEOTF_SDR();
static bool HdmiSinkSupportsEOTF_HDR();
static bool HdmiSinkSupportsEOTF_SMPTE_ST_2084();
static bool HdmiSinkSupportsEOTF_HLG();
static bool HdmiSinkSupportsDolbyVision();
static bool HdmiSinkSupportsDolbyVision_4K_p60();
static bool HdmiSinkSupportsDolbyVision_422_12bit();
static bool CurrentHdmiModeSupportsHDR();
static bool CurrentHdmiModeSupportsDolbyVision();
static gfx::Size GetScreenResolution();
private:
static unsigned int g_hdmi_codecs;
static int g_hdcp_version;
static int g_supported_eotfs;
static int g_dolby_vision_flags;
static bool g_cur_mode_supports_hdr;
static bool g_cur_mode_supports_dv;
static gfx::Size g_screen_resolution;
};
}
}
#endif