#ifndef COMPONENTS_MEDIA_EFFECTS_MEDIA_DEVICE_INFO_H_
#define COMPONENTS_MEDIA_EFFECTS_MEDIA_DEVICE_INFO_H_
#include "base/system/system_monitor.h"
#include "media/audio/audio_device_description.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/audio/public/mojom/system_info.mojom.h"
#include "services/video_capture/public/mojom/video_source_provider.mojom.h"
namespace media_effects {
std::optional<std::string> GetRealDefaultDeviceId(
const std::vector<media::AudioDeviceDescription>& infos);
std::optional<std::string> GetRealCommunicationsDeviceId(
const std::vector<media::AudioDeviceDescription>& infos);
std::vector<std::string> GetRealAudioDeviceNames(
const std::vector<media::AudioDeviceDescription>& infos);
std::vector<std::string> GetRealVideoDeviceNames(
const std::vector<media::VideoCaptureDeviceInfo>& infos);
class MediaDeviceInfo : public base::SystemMonitor::DevicesChangedObserver { … };
}
#endif