diff --git a/plugins/obs-outputs/librtmp/rtmp.c b/plugins/obs-outputs/librtmp/rtmp.c index 9f15e48fb..70e42f7ee 100644 --- a/plugins/obs-outputs/librtmp/rtmp.c +++ b/plugins/obs-outputs/librtmp/rtmp.c @@ -1684,6 +1684,11 @@ SendConnectPacket(RTMP *r, RTMPPacket *cp) enc = AMF_EncodeNamedString(enc, pend, &av_type, &av_nonprivate); if (!enc) return FALSE; + + if (r->Link.customConnectEncode) + { + r->Link.customConnectEncode(&enc, pend); + } } if (r->Link.flashVer.av_len) { diff --git a/plugins/obs-outputs/librtmp/rtmp.h b/plugins/obs-outputs/librtmp/rtmp.h index 6c1f2567e..5020120ee 100644 --- a/plugins/obs-outputs/librtmp/rtmp.h +++ b/plugins/obs-outputs/librtmp/rtmp.h @@ -285,6 +285,8 @@ extern "C" AVal playpath; } RTMP_Stream; + typedef void (*CUSTOMCONNECTENCODING)(char **penc, char *ppend); + typedef struct RTMP_LNK { #define RTMP_MAX_STREAMS 8 @@ -296,6 +298,8 @@ extern "C" AVal hostname; AVal sockshost; + CUSTOMCONNECTENCODING customConnectEncode; + AVal tcUrl; AVal swfUrl; AVal pageUrl;