Skip to content

Commit 3971782

Browse files
committed
implemented default buflen setting
1 parent a8094df commit 3971782

5 files changed

+14
-6
lines changed

ngx_rtmp.h

+1
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,7 @@ typedef struct ngx_rtmp_core_srv_conf_s {
318318
ngx_flag_t busy;
319319
size_t out_queue;
320320
size_t out_cork;
321+
ngx_msec_t buflen;
321322

322323
ngx_rtmp_conf_ctx_t *ctx;
323324
} ngx_rtmp_core_srv_conf_t;

ngx_rtmp_core_module.c

+9
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,13 @@ static ngx_command_t ngx_rtmp_core_commands[] = {
150150
offsetof(ngx_rtmp_core_srv_conf_t, publish_time_fix),
151151
NULL },
152152

153+
{ ngx_string("buflen"),
154+
NGX_RTMP_MAIN_CONF|NGX_RTMP_SRV_CONF|NGX_CONF_TAKE1,
155+
ngx_conf_set_msec_slot,
156+
NGX_RTMP_SRV_CONF_OFFSET,
157+
offsetof(ngx_rtmp_core_srv_conf_t, buflen),
158+
NULL },
159+
153160
ngx_null_command
154161
};
155162

@@ -240,6 +247,7 @@ ngx_rtmp_core_create_srv_conf(ngx_conf_t *cf)
240247
conf->out_cork = NGX_CONF_UNSET_SIZE;
241248
conf->play_time_fix = NGX_CONF_UNSET;
242249
conf->publish_time_fix = NGX_CONF_UNSET;
250+
conf->buflen = NGX_CONF_UNSET_MSEC;
243251
conf->busy = NGX_CONF_UNSET;
244252

245253
return conf;
@@ -267,6 +275,7 @@ ngx_rtmp_core_merge_srv_conf(ngx_conf_t *cf, void *parent, void *child)
267275
conf->out_queue / 8);
268276
ngx_conf_merge_value(conf->play_time_fix, prev->play_time_fix, 1);
269277
ngx_conf_merge_value(conf->publish_time_fix, prev->publish_time_fix, 1);
278+
ngx_conf_merge_msec_value(conf->buflen, prev->buflen, 1000);
270279
ngx_conf_merge_value(conf->busy, prev->busy, 0);
271280

272281
if (prev->pool == NULL) {

ngx_rtmp_flv_module.c

+2-3
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ typedef struct {
4747

4848

4949
#define NGX_RTMP_FLV_BUFFER (1024*1024)
50-
#define NGX_RTMP_FLV_DEFAULT_BUFLEN 1000
5150
#define NGX_RTMP_FLV_BUFLEN_ADDON 1000
5251
#define NGX_RTMP_FLV_TAG_HEADER 11
5352
#define NGX_RTMP_FLV_DATA_OFFSET 13
@@ -531,8 +530,8 @@ ngx_rtmp_flv_send(ngx_rtmp_session_t *s, ngx_file_t *f, ngx_uint_t *ts)
531530
return NGX_OK;
532531
}
533532

534-
buflen = (s->buflen ? s->buflen + NGX_RTMP_FLV_BUFLEN_ADDON:
535-
NGX_RTMP_FLV_DEFAULT_BUFLEN);
533+
buflen = s->buflen + NGX_RTMP_FLV_BUFLEN_ADDON;
534+
536535
end_timestamp = (ngx_current_msec - ctx->epoch) +
537536
ctx->start_timestamp + buflen;
538537

ngx_rtmp_init.c

+1
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ ngx_rtmp_init_session(ngx_connection_t *c, ngx_rtmp_addr_conf_t *addr_conf)
193193

194194
s->epoch = ngx_current_msec;
195195
s->timeout = cscf->timeout;
196+
s->buflen = cscf->buflen;
196197
ngx_rtmp_set_chunk_size(s, NGX_RTMP_DEFAULT_CHUNK_SIZE);
197198

198199

ngx_rtmp_mp4_module.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,6 @@ ngx_rtmp_mp4_from_rtmp_timestamp(ngx_rtmp_mp4_track_t *t, uint32_t ts)
220220
}
221221

222222

223-
#define NGX_RTMP_MP4_DEFAULT_BUFLEN 1000
224223
#define NGX_RTMP_MP4_BUFLEN_ADDON 1000
225224

226225

@@ -2124,8 +2123,7 @@ ngx_rtmp_mp4_send(ngx_rtmp_session_t *s, ngx_file_t *f, ngx_uint_t *ts)
21242123
return rc;
21252124
}
21262125

2127-
buflen = (s->buflen ? s->buflen + NGX_RTMP_MP4_BUFLEN_ADDON:
2128-
NGX_RTMP_MP4_DEFAULT_BUFLEN);
2126+
buflen = s->buflen + NGX_RTMP_MP4_BUFLEN_ADDON;
21292127

21302128
counter = 0;
21312129
last_timestamp = 0;

0 commit comments

Comments
 (0)