// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm #ifndef MAGEWELL_HELPERS_HPP_ #define MAGEWELL_HELPERS_HPP_ #include <windows.h> #include "LibXIStream/XIStream.h" #include "DeviceDefs.h" #include "libvideostitch/frame.hpp" #include <string> /** * Magewell shared helper functions. */ namespace VideoStitch { namespace Magewell { XI_COLOR_FORMAT xiColorFormat(const PixelFormat& pixelFormat); enum class SupportedMagewellCaptureFamily { UnknownFamily, FirstGenerationCaptureFamily, ProCaptureFamily, UsbCaptureFamily }; SupportedMagewellCaptureFamily retrieveCaptureFamily(const VIDEO_CAPTURE_INFO_EX& videoCaptureInfo); std::string extractMeaningfulDeviceId(const std::string& deviceCompleteId, const std::string& hardwareType); void extractUsbMeaningfulDeviceIdParts(const std::string& deviceCompleteId, std::string& firstIdPart, std::string& secondIdPart); AUDIO_CAPTURE_INFO_EX retrieveAudioCaptureInfo(const VIDEO_CAPTURE_INFO_EX& videoCaptureInfo, bool& ok); } // namespace Magewell } // namespace VideoStitch #endif // MAGEWELL_HELPERS_