From 2fdec454604b76b40d322b83106ec1a35b98dfce Mon Sep 17 00:00:00 2001 From: Roman Arutyunyan Date: Thu, 14 Jun 2012 20:08:57 +0400 Subject: [PATCH] fixed out queue allocation & made out_cork default value dependant on out_queue --- ngx_rtmp_core_module.c | 3 ++- ngx_rtmp_init.c | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ngx_rtmp_core_module.c b/ngx_rtmp_core_module.c index be7fe55..9fe9ab8 100644 --- a/ngx_rtmp_core_module.c +++ b/ngx_rtmp_core_module.c @@ -254,7 +254,8 @@ ngx_rtmp_core_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child) ngx_conf_merge_size_value(conf->max_message, prev->max_message, 1 * 1024 * 1024); ngx_conf_merge_size_value(conf->out_queue, prev->out_queue, 256); - ngx_conf_merge_size_value(conf->out_cork, prev->out_cork, 32); + ngx_conf_merge_size_value(conf->out_cork, prev->out_cork, + conf->out_queue / 8); ngx_conf_merge_value(conf->play_time_fix, prev->play_time_fix, 1); ngx_conf_merge_value(conf->publish_time_fix, prev->publish_time_fix, 1); diff --git a/ngx_rtmp_init.c b/ngx_rtmp_init.c index 3465230..a0d3537 100644 --- a/ngx_rtmp_init.c +++ b/ngx_rtmp_init.c @@ -124,8 +124,9 @@ ngx_rtmp_init_session(ngx_connection_t *c, ngx_rtmp_addr_conf_t *addr_conf) ngx_rtmp_log_ctx_t *ctx; s = ngx_pcalloc(c->pool, sizeof(ngx_rtmp_session_t) + - ((ngx_rtmp_core_srv_conf_t *)addr_conf->ctx->srv_conf)->out_queue - * sizeof(ngx_chain_t *)); + sizeof(ngx_chain_t *) * ((ngx_rtmp_core_srv_conf_t *) + addr_conf->ctx-> srv_conf[ngx_rtmp_core_module + .ctx_index])->out_queue); if (s == NULL) { ngx_rtmp_close_connection(c); return NULL;