13#include <promeki/config.h>
14#if PROMEKI_ENABLE_CORE
18PROMEKI_NAMESPACE_BEGIN
40class ClockEpoch :
public TypedEnum<ClockEpoch> {
42 PROMEKI_REGISTER_ENUM_TYPE_DISPLAY(
"ClockEpoch",
"Clock Epoch", 1,
43 {
"PerStream", 0,
"Per-Stream Origin"},
44 {
"Correlated", 1,
"Machine-Correlated"},
45 {
"Absolute", 2,
"Absolute (PTP / TAI / GPS)"});
47 using TypedEnum<ClockEpoch>::TypedEnum;
49 static const ClockEpoch PerStream;
50 static const ClockEpoch Correlated;
51 static const ClockEpoch Absolute;
54inline const ClockEpoch ClockEpoch::PerStream{0};
55inline const ClockEpoch ClockEpoch::Correlated{1};
56inline const ClockEpoch ClockEpoch::Absolute{2};
87class ByteCountStyle :
public TypedEnum<ByteCountStyle> {
89 PROMEKI_REGISTER_ENUM_TYPE_DISPLAY(
"ByteCountStyle",
"Byte Count Style", 0,
90 {
"Metric", 0,
"Metric (Powers of 1000)"},
91 {
"Binary", 1,
"Binary (Powers of 1024)"});
93 using TypedEnum<ByteCountStyle>::TypedEnum;
95 static const ByteCountStyle Metric;
96 static const ByteCountStyle Binary;
99inline const ByteCountStyle ByteCountStyle::Metric{0};
100inline const ByteCountStyle ByteCountStyle::Binary{1};
139class InspectorTest :
public TypedEnum<InspectorTest> {
141 PROMEKI_REGISTER_ENUM_TYPE_DISPLAY(
"InspectorTest",
"Inspector Test", 0,
142 {
"ImageData", 0,
"Image Data"}, {
"Ltc", 1,
"LTC Audio Timecode"},
143 {
"AvSync", 2,
"A/V Sync"}, {
"Continuity", 3,
"Continuity"},
144 {
"Timestamp", 4,
"Timestamp"},
145 {
"AudioSamples", 5,
"Audio Sample Count"},
146 {
"CaptureStats", 6,
"Capture Statistics"},
147 {
"AudioData", 7,
"Audio Data"}, {
"AncData", 8,
"Ancillary Data"});
149 using TypedEnum<InspectorTest>::TypedEnum;
151 static const InspectorTest ImageData;
152 static const InspectorTest Ltc;
153 static const InspectorTest AvSync;
154 static const InspectorTest Continuity;
155 static const InspectorTest Timestamp;
156 static const InspectorTest AudioSamples;
157 static const InspectorTest CaptureStats;
158 static const InspectorTest AudioData;
159 static const InspectorTest AncData;
162inline const InspectorTest InspectorTest::ImageData{0};
163inline const InspectorTest InspectorTest::Ltc{1};
164inline const InspectorTest InspectorTest::AvSync{2};
165inline const InspectorTest InspectorTest::Continuity{3};
166inline const InspectorTest InspectorTest::Timestamp{4};
167inline const InspectorTest InspectorTest::AudioSamples{5};
168inline const InspectorTest InspectorTest::CaptureStats{6};
169inline const InspectorTest InspectorTest::AudioData{7};
170inline const InspectorTest InspectorTest::AncData{8};