diff --git a/ngx_rtmp.h b/ngx_rtmp.h index a49193d..f3a3d6f 100644 --- a/ngx_rtmp.h +++ b/ngx_rtmp.h @@ -586,8 +586,8 @@ ngx_int_t ngx_rtmp_send_sample_access(ngx_rtmp_session_t *s); ngx_int_t ngx_rtmp_send_redirect_status(ngx_rtmp_session_t *s, char *callMethod, char *desc, ngx_str_t to_url); ngx_int_t ngx_rtmp_send_close_method(ngx_rtmp_session_t *s, char *methodName); -ngx_int_t ngx_rtmp_send_fcpublish(ngx_rtmp_session_t *s, char *desc); -ngx_int_t ngx_rtmp_send_fcunpublish(ngx_rtmp_session_t *s, char *desc); +ngx_int_t ngx_rtmp_send_fcpublish(ngx_rtmp_session_t *s, u_char *desc); +ngx_int_t ngx_rtmp_send_fcunpublish(ngx_rtmp_session_t *s, u_char *desc); ngx_int_t ngx_rtmp_send_fi(ngx_rtmp_session_t *s); diff --git a/ngx_rtmp_codec_module.c b/ngx_rtmp_codec_module.c index 5a98618..3b2557c 100644 --- a/ngx_rtmp_codec_module.c +++ b/ngx_rtmp_codec_module.c @@ -358,7 +358,8 @@ static void ngx_rtmp_codec_parse_avc_header(ngx_rtmp_session_t *s, ngx_chain_t *in) { ngx_uint_t profile_idc, width, height, crop_left, crop_right, - crop_top, crop_bottom, frame_mbs_only, n, cf_idc, + crop_top, crop_bottom, frame_mbs_only, n, cf_n, cf_idc, +// num_ref_frames; num_ref_frames, sl_size, sl_index, sl_udelta; ngx_int_t sl_last, sl_next, sl_delta; ngx_rtmp_codec_ctx_t *ctx; @@ -433,7 +434,7 @@ ngx_rtmp_codec_parse_avc_header(ngx_rtmp_session_t *s, ngx_chain_t *in) /* seq scaling matrix present */ if (ngx_rtmp_bit_read(&br, 1)) { - for (n = 0; n < (cf_idc != 3 ? 8u : 12u); n++) { + for (n = 0, cf_n = (cf_idc != 3 ? 8u : 12u); n < cf_n; n++) { /* seq scaling list present */ if (ngx_rtmp_bit_read(&br, 1)) { diff --git a/ngx_rtmp_live_module.c b/ngx_rtmp_live_module.c index 7bf1bc9..049139b 100644 --- a/ngx_rtmp_live_module.c +++ b/ngx_rtmp_live_module.c @@ -178,7 +178,7 @@ ngx_rtmp_live_merge_app_conf(ngx_conf_t *cf, void *parent, void *child) ngx_conf_merge_msec_value(conf->sync, prev->sync, 300); ngx_conf_merge_msec_value(conf->idle_timeout, prev->idle_timeout, 0); ngx_conf_merge_value(conf->interleave, prev->interleave, 0); - ngx_conf_merge_value(conf->wait_key, prev->wait_key, 1); + ngx_conf_merge_value(conf->wait_key, prev->wait_key, 0); ngx_conf_merge_value(conf->wait_video, prev->wait_video, 0); ngx_conf_merge_value(conf->publish_notify, prev->publish_notify, 0); ngx_conf_merge_value(conf->play_restart, prev->play_restart, 0); diff --git a/ngx_rtmp_send.c b/ngx_rtmp_send.c index ed992a1..295f131 100644 --- a/ngx_rtmp_send.c +++ b/ngx_rtmp_send.c @@ -101,7 +101,7 @@ ngx_rtmp_create_abort(ngx_rtmp_session_t *s, uint32_t csid) "create: abort csid=%uD", csid); { - NGX_RTMP_USER_START(s, NGX_RTMP_MSG_CHUNK_SIZE); + NGX_RTMP_USER_START(s, NGX_RTMP_MSG_ABORT); NGX_RTMP_USER_OUT4(csid); @@ -735,7 +735,7 @@ ngx_rtmp_send_close_method(ngx_rtmp_session_t *s, char *methodName) ngx_chain_t * -ngx_rtmp_create_fcpublish(ngx_rtmp_session_t *s, char *desc) +ngx_rtmp_create_fcpublish(ngx_rtmp_session_t *s, u_char *desc) { ngx_rtmp_header_t h; static double trans; @@ -794,7 +794,7 @@ ngx_rtmp_create_fcpublish(ngx_rtmp_session_t *s, char *desc) ngx_int_t -ngx_rtmp_send_fcpublish(ngx_rtmp_session_t *s, char *desc) +ngx_rtmp_send_fcpublish(ngx_rtmp_session_t *s, u_char *desc) { return ngx_rtmp_send_shared_packet(s, ngx_rtmp_create_fcpublish(s, desc)); @@ -802,7 +802,7 @@ ngx_rtmp_send_fcpublish(ngx_rtmp_session_t *s, char *desc) ngx_chain_t * -ngx_rtmp_create_fcunpublish(ngx_rtmp_session_t *s, char *desc) +ngx_rtmp_create_fcunpublish(ngx_rtmp_session_t *s, u_char *desc) { ngx_rtmp_header_t h; static double trans; @@ -861,7 +861,7 @@ ngx_rtmp_create_fcunpublish(ngx_rtmp_session_t *s, char *desc) ngx_int_t -ngx_rtmp_send_fcunpublish(ngx_rtmp_session_t *s, char *desc) +ngx_rtmp_send_fcunpublish(ngx_rtmp_session_t *s, u_char *desc) { return ngx_rtmp_send_shared_packet(s, ngx_rtmp_create_fcunpublish(s, desc)); @@ -929,9 +929,9 @@ ngx_rtmp_create_fi(ngx_rtmp_session_t *s) ngx_memzero(buf_time, sizeof(buf_time)); ngx_memzero(buf_date, sizeof(buf_date)); - errfl = sprintf(buf_time, "%02d:%02d:%02d.%d", tm.tm_hour, tm.tm_min, tm.tm_sec, (int)tv.tv_usec); + errfl = sprintf((char *)buf_time, "%02d:%02d:%02d.%d", tm.tm_hour, tm.tm_min, tm.tm_sec, (int)tv.tv_usec); // Strange order, but FMLE send like this - errfl = sprintf(buf_date, "%02d-%02d-%04d", tm.tm_mday, tm.tm_mon + 1, tm.tm_year + 1900); + errfl = sprintf((char *)buf_date, "%02d-%02d-%04d", tm.tm_mday, tm.tm_mon + 1, tm.tm_year + 1900); out_inf[0].data = buf_time; out_inf[1].data = buf_date;