AJA NTV2 SDK  17.1.1.1245
NTV2 SDK 17.1.1.1245
ntv2devicescanner.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef NTV2DEVICESCANNER_H
9 #define NTV2DEVICESCANNER_H
10 
11 #include "ajatypes.h"
12 #if !defined(NTV2_DEPRECATE_17_1)
13  #include "ntv2audiodefines.h"
14 #endif // !defined(NTV2_DEPRECATE_17_1)
15 #include "ntv2card.h"
16 #include <vector>
17 #include <algorithm>
18 
19 //#define VIRTUAL_DEVICES_SUPPORT 0
20 
21 #if defined(VIRTUAL_DEVICES_SUPPORT)
22 #include "ajabase/system/info.h"
23 #include "ajabase/common/json.hpp"
24 #include <fstream>
25 
26 using json = nlohmann::json;
27 
28 typedef struct VirtualDeviceInfo
29 {
30  std::string vdID;
31  std::string vdName;
32 } VirtualDeviceInfo;
33 
34 typedef std::map<string, std::vector<VirtualDeviceInfo>> NTV2SerialToVirtualDevices;
35 #endif // defined(VIRTUAL_DEVICES_SUPPORT)
36 
37 #if !defined(NTV2_DEPRECATE_17_1)
38 typedef std::vector <AudioSampleRateEnum> NTV2AudioSampleRateList;
39 typedef NTV2AudioSampleRateList::const_iterator NTV2AudioSampleRateListConstIter;
40 typedef NTV2AudioSampleRateList::iterator NTV2AudioSampleRateListIter;
41 
42 typedef std::vector <AudioChannelsPerFrameEnum> NTV2AudioChannelsPerFrameList;
43 typedef NTV2AudioChannelsPerFrameList::const_iterator NTV2AudioChannelsPerFrameListConstIter;
44 typedef NTV2AudioChannelsPerFrameList::iterator NTV2AudioChannelsPerFrameListIter;
45 
46 typedef std::vector <AudioSourceEnum> NTV2AudioSourceList;
47 typedef NTV2AudioSourceList::const_iterator NTV2AudioSourceListConstIter;
48 typedef NTV2AudioSourceList::iterator NTV2AudioSourceListIter;
49 
50 typedef std::vector <AudioBitsPerSampleEnum> NTV2AudioBitsPerSampleList;
51 typedef NTV2AudioBitsPerSampleList::const_iterator NTV2AudioBitsPerSampleListConstIter;
52 typedef NTV2AudioBitsPerSampleList::iterator NTV2AudioBitsPerSampleListIter;
53 
57 typedef struct NTV2DeviceInfo
58 {
62  uint64_t deviceSerialNumber;
63  std::string deviceIdentifier;
79  bool hdvSupport;
88  bool has2KSupport;
89  bool has4KSupport;
90  bool has8KSupport;
93  bool sdi3GSupport;
95  bool ipSupport;
97  bool ltcInSupport;
102  bool multiFormat;
120 #if defined(VIRTUAL_DEVICES_SUPPORT)
121  bool isVirtualDevice=false;
122  std::string virtualDeviceName;
123  std::string virtualDeviceID;
124 #endif // defined(VIRTUAL_DEVICES_SUPPORT)
125 
126  AJAExport bool operator == (const NTV2DeviceInfo & rhs) const;
127  AJAExport inline bool operator != (const NTV2DeviceInfo & rhs) const { return !(*this == rhs); }
130 
132 
133 
134 
135 // ostream operators
136 
143 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2AudioSampleRateList & inList);
144 
151 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2AudioChannelsPerFrameList & inList);
152 
159 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2AudioSourceList & inList);
160 
167 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2AudioBitsPerSampleList & inList);
168 
175 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2DeviceInfo & inInfo);
176 
177 
181 typedef std::vector <NTV2DeviceInfo> NTV2DeviceInfoList;
182 typedef NTV2DeviceInfoList::const_iterator NTV2DeviceInfoListConstIter; // Const iterator shorthand
183 typedef NTV2DeviceInfoList::iterator NTV2DeviceInfoListIter; // Iterator shorthand
184 
185 
192 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2DeviceInfoList & inList);
193 
194 
195 typedef struct {
203 
204 
211 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2AudioPhysicalFormat & inFormat);
212 
213 
217 typedef std::vector <NTV2AudioPhysicalFormat> NTV2AudioPhysicalFormatList;
218 typedef NTV2AudioPhysicalFormatList::const_iterator NTV2AudioPhysicalFormatListConstIter; // Shorthand for const_iterator
219 typedef NTV2AudioPhysicalFormatList::iterator NTV2AudioPhysicalFormatListIter; // Shorthand for iterator
220 
221 
228 AJAExport std::ostream & operator << (std::ostream & inOutStr, const NTV2AudioPhysicalFormatList & inList);
229 
230 #endif // !defined(NTV2_DEPRECATE_17_1)
231 
232 
237 {
238 // Class Methods
239 public:
246  static bool GetDeviceAtIndex (const ULWord inDeviceIndexNumber, CNTV2Card & outDevice);
247 
254  static bool GetFirstDeviceWithID (const NTV2DeviceID inDeviceID, CNTV2Card & outDevice);
255 
263  static bool GetFirstDeviceWithName (const std::string & inNameSubString, CNTV2Card & outDevice);
264 
272  static bool GetFirstDeviceWithSerial (const std::string & inSerialStr, CNTV2Card & outDevice); // New in SDK 16.0
273 
280  static bool GetDeviceWithSerial (const uint64_t inSerialNumber, CNTV2Card & outDevice); // New in SDK 16.0
281 
294  static bool GetFirstDeviceFromArgument (const std::string & inArgument, CNTV2Card & outDevice);
295 
296  static size_t GetNumDevices (void);
297 
302  static std::string GetDeviceRefName (CNTV2Card & inDevice); // New in SDK 16.0
303 
308  static bool IsLegalSerialNumber (const std::string & inStr); // New in SDK 16.0
309 
310 #if !defined(NTV2_DEPRECATE_17_1)
311  static NTV2_DEPRECATED_f(bool IsLegalDecimalNumber (const std::string & inStr, const size_t maxLen = 2));
312  static NTV2_DEPRECATED_f(uint64_t IsLegalHexSerialNumber (const std::string & inStr));
313  static NTV2_DEPRECATED_f(bool IsHexDigit (const char inChr));
314  static NTV2_DEPRECATED_f(bool IsDecimalDigit (const char inChr));
315  static NTV2_DEPRECATED_f(bool IsAlphaNumeric (const char inStr));
316  static NTV2_DEPRECATED_f(bool IsAlphaNumeric (const std::string & inStr));
317 #endif // !defined(NTV2_DEPRECATE_17_1)
318 
319 #if !defined(NTV2_DEPRECATE_17_1)
320 // Instance Methods
321 public:
322  explicit CNTV2DeviceScanner (const bool inScanNow = true);
323 #if !defined(NTV2_DEPRECATE_16_3)
324  explicit CNTV2DeviceScanner (bool inScanNow, UWord inDeviceMask);
325 #endif // !defined(NTV2_DEPRECATE_16_3)
326 
327 
328  static void ScanHardware (void);
329 #if !defined(NTV2_DEPRECATE_17_1)
330  static NTV2_DEPRECATED_f(void ScanHardware (const UWord inMask)) {(void)inMask; ScanHardware();}
331 #endif // !defined(NTV2_DEPRECATE_17_1)
332  static bool DeviceIDPresent (const NTV2DeviceID inDeviceID, const bool inRescan = false);
333  static bool GetDeviceInfo (const ULWord inDeviceIndexNumber, NTV2DeviceInfo & outDeviceInfo, const bool inRescan = false);
334  static NTV2DeviceInfoList GetDeviceInfoList (void);
335  static void SortDeviceInfoList (void) {}
336  static bool CompareDeviceInfoLists (const NTV2DeviceInfoList & inOldList,
337  const NTV2DeviceInfoList & inNewList,
338  NTV2DeviceInfoList & outDevicesAdded,
339  NTV2DeviceInfoList & outDevicesRemoved);
340 private:
341  static void SetAudioAttributes (NTV2DeviceInfo & inDeviceInfo, CNTV2Card & inDevice);
342 #if defined(VIRTUAL_DEVICES_SUPPORT)
343  static bool GetSerialToVirtualDeviceMap(NTV2SerialToVirtualDevices & outSerialToVirtualDevMap);
344  static bool GetCP2ConfigPath(string & outCP2ConfigPath);
345 #endif // defined(VIRTUAL_DEVICES_SUPPORT)
346 #endif // !defined(NTV2_DEPRECATE_17_1)
347 }; // CNTV2DeviceScanner
348 
349 #endif // NTV2DEVICESCANNER_H
NTV2AudioPhysicalFormat::sourceIn
AudioSourceEnum sourceIn
Definition: ntv2devicescanner.h:200
operator<<
std::ostream & operator<<(std::ostream &inOutStr, const NTV2AudioSampleRateList &inList)
Streams the NTV2AudioSampleRateList to the given output stream in a human-readable format.
AudioBitsPerSampleEnum
AudioBitsPerSampleEnum
Definition: ntv2audiodefines.h:48
info.h
Declares the AJASystemInfo class.
NTV2DeviceInfo::audioOutSourceList
NTV2AudioSourceList audioOutSourceList
My supported audio output destinations (AES, etc.)
Definition: ntv2devicescanner.h:107
NTV2DeviceInfo::quarterExpandSupport
bool quarterExpandSupport
Definition: ntv2devicescanner.h:80
NTV2DeviceInfo::numAnalogAudioInputChannels
UWord numAnalogAudioInputChannels
Total number of analog audio input channels.
Definition: ntv2devicescanner.h:109
NTV2DeviceInfo::biDirectionalSDI
bool biDirectionalSDI
Supports Bi-directional SDI.
Definition: ntv2devicescanner.h:96
NTV2DeviceInfo::audioBitsPerSampleList
NTV2AudioBitsPerSampleList audioBitsPerSampleList
My supported audio bits-per-sample.
Definition: ntv2devicescanner.h:105
NTV2DeviceInfo::numDownConverters
UWord numDownConverters
Total number of down-converters.
Definition: ntv2devicescanner.h:73
NTV2DeviceInfo::numAnlgVidOutputs
UWord numAnlgVidOutputs
Total number of analog video outputs.
Definition: ntv2devicescanner.h:67
NTV2AudioPhysicalFormat::bitsPerSample
AudioBitsPerSampleEnum bitsPerSample
Definition: ntv2devicescanner.h:199
NTV2DeviceInfo::has3GLevelConversion
bool has3GLevelConversion
Supports 3G Level Conversion?
Definition: ntv2devicescanner.h:91
NTV2DeviceInfo::rateConvertSupport
bool rateConvertSupport
Definition: ntv2devicescanner.h:76
CNTV2DeviceScanner
This class is used to enumerate AJA devices that are attached and known to the local host computer.
Definition: ntv2devicescanner.h:236
NTV2DeviceInfo::numHDMIVidInputs
UWord numHDMIVidInputs
Total number of HDMI inputs.
Definition: ntv2devicescanner.h:68
NTV2DeviceInfo::sdi12GSupport
bool sdi12GSupport
Supports 12G?
Definition: ntv2devicescanner.h:94
NTV2DeviceInfoListIter
NTV2DeviceInfoList::iterator NTV2DeviceInfoListIter
Definition: ntv2devicescanner.h:183
ntv2audiodefines.h
Declares common audio macros and structs used in the SDK.
NTV2DeviceInfo::deviceSerialNumber
uint64_t deviceSerialNumber
Unique device serial number.
Definition: ntv2devicescanner.h:62
NTV2DeviceInfo::ltcInSupport
bool ltcInSupport
Accepts LTC input?
Definition: ntv2devicescanner.h:97
GetDeviceInfoList
NTV2DeviceInfoList GetDeviceInfoList(void)
Definition: ntv2devicescanner.cpp:140
NTV2AudioSourceListConstIter
NTV2AudioSourceList::const_iterator NTV2AudioSourceListConstIter
Definition: ntv2devicescanner.h:47
NTV2DeviceInfo::numHDMIVidOutputs
UWord numHDMIVidOutputs
Total number of HDMI outputs.
Definition: ntv2devicescanner.h:69
NTV2AudioPhysicalFormat::sourceOut
AudioSourceEnum sourceOut
Definition: ntv2devicescanner.h:201
NTV2DeviceInfoList
std::vector< NTV2DeviceInfo > NTV2DeviceInfoList
I am an ordered list of NTV2DeviceInfo structs.
Definition: ntv2devicescanner.h:181
NTV2DeviceInfo::numSerialPorts
UWord numSerialPorts
Total number of serial ports.
Definition: ntv2devicescanner.h:118
NTV2DeviceID
NTV2DeviceID
Identifies a specific AJA NTV2 device model number. The NTV2DeviceID is actually the PROM part number...
Definition: ntv2enums.h:20
nlohmann::json_abiNLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON_v3_11_NLOHMANN_JSON_VERSION_PATCH::basic_json
a class to store JSON values
Definition: json.hpp:3411
nlohmann::json_abiNLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON_v3_11_NLOHMANN_JSON_VERSION_PATCH::detail::void
j template void())
Definition: json.hpp:4893
ajatypes.h
Declares the most fundamental data types used by NTV2. Since Windows NT was the first principal devel...
NTV2DeviceInfo::numHDMIAudioOutputChannels
UWord numHDMIAudioOutputChannels
Total number of HDMI audio output channels.
Definition: ntv2devicescanner.h:116
NTV2DeviceInfo::vidProcSupport
bool vidProcSupport
Definition: ntv2devicescanner.h:81
NTV2DeviceInfo::numAnlgVidInputs
UWord numAnlgVidInputs
Total number of analog video inputs.
Definition: ntv2devicescanner.h:66
NTV2AudioChannelsPerFrameListConstIter
NTV2AudioChannelsPerFrameList::const_iterator NTV2AudioChannelsPerFrameListConstIter
Definition: ntv2devicescanner.h:43
NTV2AudioPhysicalFormat::boardNumber
ULWord boardNumber
Definition: ntv2devicescanner.h:196
NTV2AudioBitsPerSampleList
std::vector< AudioBitsPerSampleEnum > NTV2AudioBitsPerSampleList
Definition: ntv2devicescanner.h:50
NTV2AudioSampleRateList
std::vector< AudioSampleRateEnum > NTV2AudioSampleRateList
Definition: ntv2devicescanner.h:38
NTV2AudioPhysicalFormat::sampleRate
AudioSampleRateEnum sampleRate
Definition: ntv2devicescanner.h:197
NTV2DeviceInfo::numVidOutputs
UWord numVidOutputs
Total number of video outputs – analog, digital, whatever.
Definition: ntv2devicescanner.h:65
NTV2DeviceInfo::deviceIdentifier
std::string deviceIdentifier
Device name as seen in Control Panel, Watcher, Cables, etc.
Definition: ntv2devicescanner.h:63
NTV2DeviceInfo::audioInSourceList
NTV2AudioSourceList audioInSourceList
My supported audio input sources (AES, ADAT, etc.)
Definition: ntv2devicescanner.h:106
NTV2DeviceInfo::has4KSupport
bool has4KSupport
Supports 4K formats?
Definition: ntv2devicescanner.h:89
ULWord
uint32_t ULWord
Definition: ajatypes.h:253
NTV2DeviceInfo::numOutputConverters
UWord numOutputConverters
Total number of output converters.
Definition: ntv2devicescanner.h:71
ntv2card.h
Declares the CNTV2Card class.
NTV2AudioSourceListIter
NTV2AudioSourceList::iterator NTV2AudioSourceListIter
Definition: ntv2devicescanner.h:48
UWord
uint16_t UWord
Definition: ajatypes.h:251
AudioChannelsPerFrameEnum
AudioChannelsPerFrameEnum
Definition: ntv2audiodefines.h:37
NTV2AudioPhysicalFormat
Definition: ntv2devicescanner.h:195
NTV2DeviceInfo::numDMAEngines
UWord numDMAEngines
Total number of DMA engines.
Definition: ntv2devicescanner.h:117
AudioSourceEnum
AudioSourceEnum
Definition: ntv2audiodefines.h:64
CNTV2Card
I interrogate and control an AJA video/audio capture/playout device.
Definition: ntv2card.h:28
NTV2DeviceInfo::rgbAlphaOutputSupport
bool rgbAlphaOutputSupport
Supports RGB alpha channel?
Definition: ntv2devicescanner.h:85
NTV2DeviceInfo::numAESAudioOutputChannels
UWord numAESAudioOutputChannels
Total number of AES audio output channels.
Definition: ntv2devicescanner.h:114
NTV2AudioPhysicalFormatListIter
NTV2AudioPhysicalFormatList::iterator NTV2AudioPhysicalFormatListIter
Definition: ntv2devicescanner.h:219
NTV2DeviceInfo::has2KSupport
bool has2KSupport
Supports 2K formats?
Definition: ntv2devicescanner.h:88
NTV2DeviceInfo::procAmpSupport
bool procAmpSupport
Definition: ntv2devicescanner.h:87
NTV2DeviceInfo::proResSupport
bool proResSupport
Supports ProRes?
Definition: ntv2devicescanner.h:92
NTV2DeviceInfo::stereoOutSupport
bool stereoOutSupport
Supports stereo output?
Definition: ntv2devicescanner.h:100
NTV2DeviceInfo::qrezSupport
bool qrezSupport
Definition: ntv2devicescanner.h:78
NTV2DeviceInfo::numUpConverters
UWord numUpConverters
Total number of up-converters.
Definition: ntv2devicescanner.h:72
NTV2DeviceInfo::numEmbeddedAudioInputChannels
UWord numEmbeddedAudioInputChannels
Total number of embedded (SDI) audio input channels.
Definition: ntv2devicescanner.h:111
NTV2AudioPhysicalFormat::numChannels
AudioChannelsPerFrameEnum numChannels
Definition: ntv2devicescanner.h:198
json.hpp
NTV2DeviceInfo::programmableCSCSupport
bool programmableCSCSupport
Programmable color space converter?
Definition: ntv2devicescanner.h:84
NTV2DeviceInfoListConstIter
NTV2DeviceInfoList::const_iterator NTV2DeviceInfoListConstIter
Definition: ntv2devicescanner.h:182
NTV2DeviceInfo::multiFormat
bool multiFormat
Supports multiple video formats?
Definition: ntv2devicescanner.h:102
NTV2AudioSampleRateListIter
NTV2AudioSampleRateList::iterator NTV2AudioSampleRateListIter
Definition: ntv2devicescanner.h:40
NTV2DeviceInfo::isoConvertSupport
bool isoConvertSupport
Definition: ntv2devicescanner.h:75
NTV2DeviceInfo::deviceIndex
ULWord deviceIndex
Device index number – this will be phased out someday.
Definition: ntv2devicescanner.h:60
NTV2DeviceInfo::numAnalogAudioOutputChannels
UWord numAnalogAudioOutputChannels
Total number of analog audio output channels.
Definition: ntv2devicescanner.h:113
NTV2DeviceInfo::numHDMIAudioInputChannels
UWord numHDMIAudioInputChannels
Total number of HDMI audio input channels.
Definition: ntv2devicescanner.h:112
nlohmann::json_abiNLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON_v3_11_NLOHMANN_JSON_VERSION_PATCH::operator!=
bool operator!=(const json_pointer< RefStringTypeLhs > &lhs, const json_pointer< RefStringTypeRhs > &rhs) noexcept
Definition: json.hpp:14762
NTV2DeviceInfo::numVidInputs
UWord numVidInputs
Total number of video inputs – analog, digital, whatever.
Definition: ntv2devicescanner.h:64
NTV2DeviceInfo::has8KSupport
bool has8KSupport
Supports 8K formats?
Definition: ntv2devicescanner.h:90
NTV2AudioSourceList
std::vector< AudioSourceEnum > NTV2AudioSourceList
Definition: ntv2devicescanner.h:46
NTV2_DEPRECATED_f
#define NTV2_DEPRECATED_f(__f__)
Definition: ajatypes.h:553
NTV2DeviceInfo
Definition: ntv2devicescanner.h:57
NTV2AudioPhysicalFormatListConstIter
NTV2AudioPhysicalFormatList::const_iterator NTV2AudioPhysicalFormatListConstIter
Definition: ntv2devicescanner.h:218
NTV2DeviceInfo::audioSampleRateList
NTV2AudioSampleRateList audioSampleRateList
My supported audio sample rates.
Definition: ntv2devicescanner.h:103
NTV2AudioBitsPerSampleListIter
NTV2AudioBitsPerSampleList::iterator NTV2AudioBitsPerSampleListIter
Definition: ntv2devicescanner.h:52
AJAExport
#define AJAExport
Definition: export.h:33
NTV2DeviceInfo::pingLED
ULWord pingLED
Definition: ntv2devicescanner.h:119
AudioSampleRateEnum
AudioSampleRateEnum
Definition: ntv2audiodefines.h:56
NTV2DeviceInfo::operator==
bool operator==(const NTV2DeviceInfo &rhs) const
Definition: ntv2devicescanner.cpp:473
NTV2DeviceInfo::pciSlot
ULWord pciSlot
PCI slot (if applicable and/or known)
Definition: ntv2devicescanner.h:61
NTV2AudioSampleRateListConstIter
NTV2AudioSampleRateList::const_iterator NTV2AudioSampleRateListConstIter
Definition: ntv2devicescanner.h:39
NTV2DeviceInfo::ltcOutSupport
bool ltcOutSupport
Supports LTC output?
Definition: ntv2devicescanner.h:98
NTV2AudioChannelsPerFrameListIter
NTV2AudioChannelsPerFrameList::iterator NTV2AudioChannelsPerFrameListIter
Definition: ntv2devicescanner.h:44
NTV2DeviceInfo::numInputConverters
UWord numInputConverters
Total number of input converters.
Definition: ntv2devicescanner.h:70
NTV2DeviceInfo::dvcproHDSupport
bool dvcproHDSupport
Definition: ntv2devicescanner.h:77
NTV2DeviceInfo::ipSupport
bool ipSupport
Supports IP IO?
Definition: ntv2devicescanner.h:95
NTV2DeviceInfo::colorCorrectionSupport
bool colorCorrectionSupport
Supports color correction?
Definition: ntv2devicescanner.h:83
NTV2DeviceInfo::sdi3GSupport
bool sdi3GSupport
Supports 3G?
Definition: ntv2devicescanner.h:93
NTV2DeviceInfo::breakoutBoxSupport
bool breakoutBoxSupport
Can support a breakout box?
Definition: ntv2devicescanner.h:86
NTV2DeviceInfo::NTV2DeviceInfo
NTV2DeviceInfo()
Definition: ntv2devicescanner.cpp:498
NTV2DeviceInfo
struct NTV2DeviceInfo NTV2DeviceInfo
NTV2AudioPhysicalFormatList
std::vector< NTV2AudioPhysicalFormat > NTV2AudioPhysicalFormatList
I am an ordered list of NTV2AudioPhysicalFormat structs.
Definition: ntv2devicescanner.h:217
NTV2DeviceInfo::ltcInOnRefPort
bool ltcInOnRefPort
Supports LTC on reference input?
Definition: ntv2devicescanner.h:99
NTV2DeviceInfo::audioNumChannelsList
NTV2AudioChannelsPerFrameList audioNumChannelsList
My supported number of audio channels per frame.
Definition: ntv2devicescanner.h:104
NTV2AudioChannelsPerFrameList
std::vector< AudioChannelsPerFrameEnum > NTV2AudioChannelsPerFrameList
Definition: ntv2devicescanner.h:42
nlohmann::json_abiNLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON_v3_11_NLOHMANN_JSON_VERSION_PATCH::json
basic_json<> json
default specialization
Definition: json.hpp:3422
NTV2DeviceInfo::downConverterDelay
UWord downConverterDelay
Definition: ntv2devicescanner.h:74
NTV2DeviceInfo::stereoInSupport
bool stereoInSupport
Supports stereo input?
Definition: ntv2devicescanner.h:101
NTV2DeviceInfo::numAESAudioInputChannels
UWord numAESAudioInputChannels
Total number of AES audio input channels.
Definition: ntv2devicescanner.h:110
NTV2DeviceInfo::deviceID
NTV2DeviceID deviceID
Device ID/species (e.g., DEVICE_ID_KONA3G, DEVICE_ID_IOXT, etc.)
Definition: ntv2devicescanner.h:59
NTV2AudioBitsPerSampleListConstIter
NTV2AudioBitsPerSampleList::const_iterator NTV2AudioBitsPerSampleListConstIter
Definition: ntv2devicescanner.h:51
NTV2DeviceInfo::numAudioStreams
UWord numAudioStreams
Maximum number of independent audio streams.
Definition: ntv2devicescanner.h:108
NTV2DeviceInfo::dualLinkSupport
bool dualLinkSupport
Supports dual-link?
Definition: ntv2devicescanner.h:82
NTV2DeviceInfo::hdvSupport
bool hdvSupport
Definition: ntv2devicescanner.h:79
NTV2DeviceInfo::numEmbeddedAudioOutputChannels
UWord numEmbeddedAudioOutputChannels
Total number of embedded (SDI) audio output channels.
Definition: ntv2devicescanner.h:115