#ifndef MEDIA_CAPTURE_VIDEO_WIN_CAPABILITY_LIST_WIN_H_
#define MEDIA_CAPTURE_VIDEO_WIN_CAPABILITY_LIST_WIN_H_
#include <windows.h>
#include <list>
#include "media/capture/video_capture_types.h"
namespace media {
struct CapabilityWin {
CapabilityWin(int media_type_index, const VideoCaptureFormat& format)
: media_type_index(media_type_index),
supported_format(format),
info_header(),
stream_index(0),
source_pixel_format(format.pixel_format),
maybe_fake(false) {}
CapabilityWin(int media_type_index,
const VideoCaptureFormat& format,
const BITMAPINFOHEADER& info_header)
: media_type_index(media_type_index),
supported_format(format),
info_header(info_header),
stream_index(0),
source_pixel_format(format.pixel_format),
maybe_fake(false) {}
CapabilityWin(int media_type_index,
const VideoCaptureFormat& format,
int stream_index,
VideoPixelFormat source_format,
bool maybe_fake)
: media_type_index(media_type_index),
supported_format(format),
info_header(),
stream_index(stream_index),
source_pixel_format(source_format),
maybe_fake(maybe_fake) {}
const int media_type_index;
const VideoCaptureFormat supported_format;
const BITMAPINFOHEADER info_header;
const int stream_index;
VideoPixelFormat source_pixel_format;
bool maybe_fake;
};
typedef std::list<CapabilityWin> CapabilityList;
const CapabilityWin& GetBestMatchedCapability(
const VideoCaptureFormat& requested,
const CapabilityList& capabilities);
}
#endif