added more alf functions

This commit is contained in:
Roman Arutyunyan 2012-04-06 16:13:48 +04:00
parent cd3bef4b05
commit f118918a47
2 changed files with 11 additions and 3 deletions

View file

@ -415,7 +415,8 @@ ngx_int_t ngx_rtmp_send_user_unknown(ngx_rtmp_session_t *s,
/* AMF sender/receiver */
ngx_chain_t * ngx_rtmp_create_amf_message(ngx_rtmp_session_t *s,
ngx_rtmp_header_t *h, ngx_rtmp_amf_elt_t *elts, size_t nelts);
ngx_rtmp_header_t *h, ngx_chain_t **last, ngx_rtmp_amf_elt_t *elts,
size_t nelts);
ngx_int_t ngx_rtmp_send_amf(ngx_rtmp_session_t *s, ngx_rtmp_header_t *h,
ngx_rtmp_amf_elt_t *elts, size_t nelts);
ngx_int_t ngx_rtmp_receive_amf(ngx_rtmp_session_t *s, ngx_chain_t *in,

View file

@ -209,7 +209,7 @@ ngx_rtmp_alloc_amf_buf(void *arg)
/* AMF sender */
ngx_chain_t *
ngx_rtmp_create_amf_message(ngx_rtmp_session_t *s, ngx_rtmp_header_t *h,
ngx_rtmp_amf_elt_t *elts, size_t nelts)
ngx_chain_t **last, ngx_rtmp_amf_elt_t *elts, size_t nelts)
{
ngx_rtmp_amf_ctx_t act;
ngx_rtmp_core_srv_conf_t *cscf;
@ -218,6 +218,9 @@ ngx_rtmp_create_amf_message(ngx_rtmp_session_t *s, ngx_rtmp_header_t *h,
memset(&act, 0, sizeof(act));
act.arg = cscf;
if (last) {
act.link = *last;
}
act.alloc = ngx_rtmp_alloc_amf_buf;
act.log = s->connection->log;
@ -232,6 +235,10 @@ ngx_rtmp_create_amf_message(ngx_rtmp_session_t *s, ngx_rtmp_header_t *h,
ngx_rtmp_prepare_message(s, h, NULL, act.first);
}
if (last) {
*last = act.link;
}
return act.first;
}
@ -244,7 +251,7 @@ ngx_int_t ngx_rtmp_send_amf(ngx_rtmp_session_t *s, ngx_rtmp_header_t *h,
cscf = ngx_rtmp_get_module_srv_conf(s, ngx_rtmp_core_module);
cl = ngx_rtmp_create_amf_message(s, h, elts, nelts);
cl = ngx_rtmp_create_amf_message(s, h, NULL, elts, nelts);
if (cl == NULL) {
return NGX_ERROR;