mirror of
https://github.com/zotanmew/nginx-rtmp-module.git
synced 2024-05-20 18:01:08 +02:00
added typeless amf names support
This commit is contained in:
parent
20a8d06eb6
commit
a0fe6e5ea4
|
@ -156,11 +156,11 @@ ngx_rtmp_user_message_handler(ngx_rtmp_session_t *s,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ngx_int_t
|
static ngx_int_t
|
||||||
ngx_rtmp_amf_message_handler(ngx_rtmp_session_t *s,
|
ngx_rtmp_amf_message_basic_handler(ngx_rtmp_session_t *s,
|
||||||
ngx_rtmp_header_t *h, ngx_chain_t *in)
|
ngx_rtmp_header_t *h, ngx_chain_t *in, ngx_int_t name_typeless)
|
||||||
{
|
{
|
||||||
ngx_rtmp_amf_ctx_t act;
|
ngx_rtmp_amf_ctx_t act;
|
||||||
ngx_connection_t *c;
|
ngx_connection_t *c;
|
||||||
ngx_rtmp_core_main_conf_t *cmcf;
|
ngx_rtmp_core_main_conf_t *cmcf;
|
||||||
ngx_array_t *ch;
|
ngx_array_t *ch;
|
||||||
|
@ -169,13 +169,21 @@ ngx_rtmp_amf_message_handler(ngx_rtmp_session_t *s,
|
||||||
|
|
||||||
static u_char func[128];
|
static u_char func[128];
|
||||||
|
|
||||||
static ngx_rtmp_amf_elt_t elts[] = {
|
static ngx_rtmp_amf_elt_t elts[] = {
|
||||||
|
|
||||||
{ NGX_RTMP_AMF_STRING,
|
{ NGX_RTMP_AMF_STRING,
|
||||||
ngx_null_string,
|
ngx_null_string,
|
||||||
func, sizeof(func) },
|
func, sizeof(func) },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* AMF command names come with string type, but shared object names
|
||||||
|
* come without type */
|
||||||
|
if (name_typeless) {
|
||||||
|
elts[0].type |= NGX_RTMP_AMF_TYPELESS;
|
||||||
|
} else {
|
||||||
|
elts[0].type &= ~NGX_RTMP_AMF_TYPELESS;
|
||||||
|
}
|
||||||
|
|
||||||
c = s->connection;
|
c = s->connection;
|
||||||
cmcf = ngx_rtmp_get_module_main_conf(s, ngx_rtmp_core_module);
|
cmcf = ngx_rtmp_get_module_main_conf(s, ngx_rtmp_core_module);
|
||||||
|
|
||||||
|
@ -219,6 +227,22 @@ ngx_rtmp_amf_message_handler(ngx_rtmp_session_t *s,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ngx_int_t
|
||||||
|
ngx_rtmp_amf_message_handler(ngx_rtmp_session_t *s,
|
||||||
|
ngx_rtmp_header_t *h, ngx_chain_t *in)
|
||||||
|
{
|
||||||
|
return ngx_rtmp_amf_message_basic_handler(s, h, in, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ngx_int_t
|
||||||
|
ngx_rtmp_amf_shared_object_handler(ngx_rtmp_session_t *s,
|
||||||
|
ngx_rtmp_header_t *h, ngx_chain_t *in)
|
||||||
|
{
|
||||||
|
return ngx_rtmp_amf_message_basic_handler(s, h, in, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
ngx_int_t
|
ngx_int_t
|
||||||
ngx_rtmp_receive_amf(ngx_rtmp_session_t *s, ngx_chain_t *in,
|
ngx_rtmp_receive_amf(ngx_rtmp_session_t *s, ngx_chain_t *in,
|
||||||
ngx_rtmp_amf_elt_t *elts, size_t nelts)
|
ngx_rtmp_amf_elt_t *elts, size_t nelts)
|
||||||
|
|
Loading…
Reference in a new issue