13#include <promeki/config.h>
14#if PROMEKI_ENABLE_CORE
18PROMEKI_NAMESPACE_BEGIN
32class RtmpRole :
public TypedEnum<RtmpRole> {
34 PROMEKI_REGISTER_ENUM_TYPE_DISPLAY(
"RtmpRole",
"RTMP Role", 0, {
"Client", 0,
"Client"},
35 {
"Server", 1,
"Server"});
37 using TypedEnum<RtmpRole>::TypedEnum;
39 static const RtmpRole Client;
40 static const RtmpRole Server;
43inline const RtmpRole RtmpRole::Client{0};
44inline const RtmpRole RtmpRole::Server{1};
63class RtmpHandshakeMode :
public TypedEnum<RtmpHandshakeMode> {
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)"});
70 using TypedEnum<RtmpHandshakeMode>::TypedEnum;
72 static const RtmpHandshakeMode Auto;
73 static const RtmpHandshakeMode Simple;
74 static const RtmpHandshakeMode Complex;
77inline const RtmpHandshakeMode RtmpHandshakeMode::Auto{0};
78inline const RtmpHandshakeMode RtmpHandshakeMode::Simple{1};
79inline const RtmpHandshakeMode RtmpHandshakeMode::Complex{2};
112class RtmpVideoPacing :
public TypedEnum<RtmpVideoPacing> {
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)"});
119 using TypedEnum<RtmpVideoPacing>::TypedEnum;
121 static const RtmpVideoPacing Internal;
122 static const RtmpVideoPacing External;
123 static const RtmpVideoPacing None;
126inline const RtmpVideoPacing RtmpVideoPacing::Internal{0};
127inline const RtmpVideoPacing RtmpVideoPacing::External{1};
128inline const RtmpVideoPacing RtmpVideoPacing::None{2};