libpromeki 1.0.0-alpha
PROfessional MEdia toolKIt
 
Loading...
Searching...
No Matches
enums_rtmp.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
32class RtmpRole : public TypedEnum<RtmpRole> {
33 public:
34 PROMEKI_REGISTER_ENUM_TYPE_DISPLAY("RtmpRole", "RTMP Role", 0, {"Client", 0, "Client"},
35 {"Server", 1, "Server"}); // default: Client
36
37 using TypedEnum<RtmpRole>::TypedEnum;
38
39 static const RtmpRole Client;
40 static const RtmpRole Server;
41};
42
43inline const RtmpRole RtmpRole::Client{0};
44inline const RtmpRole RtmpRole::Server{1};
45
63class RtmpHandshakeMode : public TypedEnum<RtmpHandshakeMode> {
64 public:
65 PROMEKI_REGISTER_ENUM_TYPE_DISPLAY("RtmpHandshakeMode", "RTMP Handshake Mode", 0,
66 {"Auto", 0, "Automatic (Complex, Fall Back to Simple)"},
67 {"Simple", 1, "Simple (RTMP 1.0)"},
68 {"Complex", 2, "Complex (Adobe FMS3 Digest)"}); // default: Auto
69
70 using TypedEnum<RtmpHandshakeMode>::TypedEnum;
71
72 static const RtmpHandshakeMode Auto;
73 static const RtmpHandshakeMode Simple;
74 static const RtmpHandshakeMode Complex;
75};
76
77inline const RtmpHandshakeMode RtmpHandshakeMode::Auto{0};
78inline const RtmpHandshakeMode RtmpHandshakeMode::Simple{1};
79inline const RtmpHandshakeMode RtmpHandshakeMode::Complex{2};
80
112class RtmpVideoPacing : public TypedEnum<RtmpVideoPacing> {
113 public:
114 PROMEKI_REGISTER_ENUM_TYPE_DISPLAY("RtmpVideoPacing", "RTMP Video Pacing", 0,
115 {"Internal", 0, "Internal Wall Clock"},
116 {"External", 1, "External Clock"},
117 {"None", 2, "None (Unpaced)"}); // default: Internal
118
119 using TypedEnum<RtmpVideoPacing>::TypedEnum;
120
121 static const RtmpVideoPacing Internal;
122 static const RtmpVideoPacing External;
123 static const RtmpVideoPacing None;
124};
125
126inline const RtmpVideoPacing RtmpVideoPacing::Internal{0};
127inline const RtmpVideoPacing RtmpVideoPacing::External{1};
128inline const RtmpVideoPacing RtmpVideoPacing::None{2};
129
132PROMEKI_NAMESPACE_END
133
134#endif // PROMEKI_ENABLE_CORE