mirror of
https://github.com/arut/nginx-rtmp-module.git
synced 2025-08-06 15:00:18 +08:00
@ -873,7 +873,7 @@ ngx_rtmp_hls_audio(ngx_rtmp_session_t *s, ngx_rtmp_header_t *h,
|
|||||||
|
|
||||||
/* write to file */
|
/* write to file */
|
||||||
av_init_packet(&packet);
|
av_init_packet(&packet);
|
||||||
packet.dts = h->timestamp * 90;
|
packet.dts = h->timestamp * 90L;
|
||||||
packet.pts = packet.dts;
|
packet.pts = packet.dts;
|
||||||
packet.stream_index = ctx->out_astream;
|
packet.stream_index = ctx->out_astream;
|
||||||
packet.data = buffer;
|
packet.data = buffer;
|
||||||
@ -913,6 +913,7 @@ ngx_rtmp_hls_video(ngx_rtmp_session_t *s, ngx_rtmp_header_t *h,
|
|||||||
uint32_t len, rlen;
|
uint32_t len, rlen;
|
||||||
ngx_buf_t out;
|
ngx_buf_t out;
|
||||||
static u_char buffer[NGX_RTMP_HLS_BUFSIZE];
|
static u_char buffer[NGX_RTMP_HLS_BUFSIZE];
|
||||||
|
int32_t cts;
|
||||||
|
|
||||||
hacf = ngx_rtmp_get_module_app_conf(s, ngx_rtmp_hls_module);
|
hacf = ngx_rtmp_get_module_app_conf(s, ngx_rtmp_hls_module);
|
||||||
ctx = ngx_rtmp_get_module_ctx(s, ngx_rtmp_hls_module);
|
ctx = ngx_rtmp_get_module_ctx(s, ngx_rtmp_hls_module);
|
||||||
@ -948,9 +949,10 @@ ngx_rtmp_hls_video(ngx_rtmp_session_t *s, ngx_rtmp_header_t *h,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* 3 bytes: decoder delay */
|
/* 3 bytes: decoder delay */
|
||||||
if (ngx_rtmp_hls_copy(s, NULL, &p, 3, &in) != NGX_OK) {
|
if (ngx_rtmp_hls_copy(s, &cts, &p, 3, &in) != NGX_OK) {
|
||||||
return NGX_ERROR;
|
return NGX_ERROR;
|
||||||
}
|
}
|
||||||
|
cts = ((cts & 0x00FF0000) >> 16) | ((cts & 0x000000FF) << 16) | (cts & 0x0000FF00);
|
||||||
|
|
||||||
out.pos = buffer;
|
out.pos = buffer;
|
||||||
out.last = buffer + sizeof(buffer) - FF_INPUT_BUFFER_PADDING_SIZE;
|
out.last = buffer + sizeof(buffer) - FF_INPUT_BUFFER_PADDING_SIZE;
|
||||||
@ -1022,8 +1024,8 @@ ngx_rtmp_hls_video(ngx_rtmp_session_t *s, ngx_rtmp_header_t *h,
|
|||||||
}
|
}
|
||||||
|
|
||||||
av_init_packet(&packet);
|
av_init_packet(&packet);
|
||||||
packet.dts = h->timestamp * 90;
|
packet.dts = h->timestamp * 90L;
|
||||||
packet.pts = packet.dts;
|
packet.pts = packet.dts + cts * 90;
|
||||||
packet.stream_index = ctx->out_vstream;
|
packet.stream_index = ctx->out_vstream;
|
||||||
/*
|
/*
|
||||||
if (ftype == 1) {
|
if (ftype == 1) {
|
||||||
|
Reference in New Issue
Block a user