// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_DISPLAY_WIN_AUDIO_EDID_SCAN_H_
#define UI_DISPLAY_WIN_AUDIO_EDID_SCAN_H_
#include <stdint.h>
#include "ui/display/display_export.h"
namespace display {
namespace win {
// The WMI service allows the querying of monitor-type devices which report
// Extended Display Identification Data (EDID). The WMI service can be
// queried for a list of COM objects which represent the "paths" which
// are associated with individual EDID devices. Querying each of those
// paths using the WmiGetMonitorRawEEdidV1Block method returns the EDID
// blocks for those devices. We query the extended blocks which contain
// the Short Audio Descriptor (SAD), and parse them to obtain a bitmask
// indicating which audio content is supported. The bitmask bits are
// defined in edid_parser.h, as returned from the EdidParser::audio_formats()
// method. If multiple EDID devices are present, the intersection is
// reported as the bitmask.
DISPLAY_EXPORT uint32_t ScanEdidBitstreams();
} // namespace win
} // namespace display
#endif // UI_DISPLAY_WIN_AUDIO_EDID_SCAN_H_