libpromeki 1.0.0-alpha
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
enums_clock.h
Go to the documentation of this file.
1
10#pragma once
11
12
13#include <promeki/config.h>
14#if PROMEKI_ENABLE_CORE
15#include <promeki/namespace.h>
16#include <promeki/enum.h>
17
18PROMEKI_NAMESPACE_BEGIN
19
40class ClockEpoch : public TypedEnum<ClockEpoch> {
41 public:
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)"}); // default: Correlated
46
47 using TypedEnum<ClockEpoch>::TypedEnum;
48
49 static const ClockEpoch PerStream;
50 static const ClockEpoch Correlated;
51 static const ClockEpoch Absolute;
52};
53
54inline const ClockEpoch ClockEpoch::PerStream{0};
55inline const ClockEpoch ClockEpoch::Correlated{1};
56inline const ClockEpoch ClockEpoch::Absolute{2};
57
87class ByteCountStyle : public TypedEnum<ByteCountStyle> {
88 public:
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)"}); // default: Metric
92
93 using TypedEnum<ByteCountStyle>::TypedEnum;
94
95 static const ByteCountStyle Metric;
96 static const ByteCountStyle Binary;
97};
98
99inline const ByteCountStyle ByteCountStyle::Metric{0};
100inline const ByteCountStyle ByteCountStyle::Binary{1};
101
139class InspectorTest : public TypedEnum<InspectorTest> {
140 public:
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"});
148
149 using TypedEnum<InspectorTest>::TypedEnum;
150
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;
160};
161
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};
171
174PROMEKI_NAMESPACE_END
175
176#endif // PROMEKI_ENABLE_CORE