2021-11-23 18:31:11 -08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "aja-enums.hpp"
|
2022-01-07 18:45:08 -08:00
|
|
|
#include "aja-vpid-data.hpp"
|
2021-11-23 18:31:11 -08:00
|
|
|
|
|
|
|
#include <media-io/audio-io.h>
|
|
|
|
|
|
|
|
#include <ajantv2/includes/ntv2enums.h>
|
|
|
|
#include <ajantv2/includes/ntv2formatdescriptor.h>
|
|
|
|
|
|
|
|
#include <map>
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
//TODO(paulh): Consolidate the two Props classes
|
|
|
|
class SourceProps {
|
|
|
|
public:
|
|
|
|
explicit SourceProps();
|
|
|
|
explicit SourceProps(NTV2DeviceID devID);
|
|
|
|
~SourceProps() = default;
|
|
|
|
SourceProps(const SourceProps &props);
|
|
|
|
SourceProps(SourceProps &&props);
|
|
|
|
void operator=(const SourceProps &props);
|
|
|
|
void operator=(SourceProps &&props);
|
|
|
|
bool operator==(const SourceProps &props);
|
|
|
|
bool operator!=(const SourceProps &props);
|
|
|
|
|
2022-01-07 18:45:08 -08:00
|
|
|
NTV2InputSource InitialInputSource() const;
|
|
|
|
NTV2InputSourceSet InputSources() const;
|
2021-11-23 18:31:11 -08:00
|
|
|
NTV2Channel Channel() const;
|
2022-01-27 00:18:07 -08:00
|
|
|
NTV2Channel Framestore() const;
|
2021-11-23 18:31:11 -08:00
|
|
|
NTV2AudioSystem AudioSystem() const;
|
|
|
|
NTV2AudioRate AudioRate() const;
|
|
|
|
size_t AudioSize() const;
|
|
|
|
audio_format AudioFormat() const;
|
|
|
|
speaker_layout SpeakerLayout() const;
|
|
|
|
|
|
|
|
NTV2DeviceID deviceID;
|
|
|
|
IOSelection ioSelect;
|
|
|
|
NTV2VideoFormat videoFormat;
|
|
|
|
NTV2PixelFormat pixelFormat;
|
2022-01-07 18:45:08 -08:00
|
|
|
SDITransport sdiTransport;
|
|
|
|
SDITransport4K sdi4kTransport;
|
2021-11-23 18:31:11 -08:00
|
|
|
VPIDDataList vpids;
|
|
|
|
uint32_t audioNumChannels;
|
|
|
|
uint32_t audioSampleSize;
|
|
|
|
uint32_t audioSampleRate;
|
|
|
|
bool autoDetect;
|
|
|
|
bool deactivateWhileNotShowing;
|
|
|
|
};
|
|
|
|
|
|
|
|
class OutputProps {
|
|
|
|
public:
|
|
|
|
explicit OutputProps(NTV2DeviceID devID);
|
|
|
|
~OutputProps() = default;
|
|
|
|
OutputProps(const OutputProps &props);
|
|
|
|
OutputProps(OutputProps &&props);
|
|
|
|
void operator=(const OutputProps &props);
|
|
|
|
void operator=(OutputProps &&props);
|
|
|
|
bool operator==(const OutputProps &props);
|
|
|
|
bool operator!=(const OutputProps &props);
|
|
|
|
|
|
|
|
NTV2FormatDesc FormatDesc();
|
|
|
|
NTV2Channel Channel() const;
|
2022-01-27 00:18:07 -08:00
|
|
|
NTV2Channel Framestore() const;
|
2021-11-23 18:31:11 -08:00
|
|
|
NTV2AudioSystem AudioSystem() const;
|
|
|
|
NTV2AudioRate AudioRate() const;
|
|
|
|
size_t AudioSize() const;
|
|
|
|
audio_format AudioFormat() const;
|
|
|
|
speaker_layout SpeakerLayout() const;
|
|
|
|
|
|
|
|
NTV2DeviceID deviceID;
|
|
|
|
IOSelection ioSelect;
|
|
|
|
NTV2OutputDestination outputDest;
|
|
|
|
NTV2VideoFormat videoFormat;
|
|
|
|
NTV2PixelFormat pixelFormat;
|
2022-01-07 18:45:08 -08:00
|
|
|
SDITransport sdiTransport;
|
|
|
|
SDITransport4K sdi4kTransport;
|
2021-11-23 18:31:11 -08:00
|
|
|
uint32_t audioNumChannels;
|
|
|
|
uint32_t audioSampleSize;
|
|
|
|
uint32_t audioSampleRate;
|
|
|
|
};
|