Skip to content

Commit 9aff59f

Browse files
committed
fixed recording audio splitted into fragments
1 parent 76211a4 commit 9aff59f

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

ngx_rtmp_record_module.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -733,7 +733,7 @@ ngx_rtmp_record_node_av(ngx_rtmp_session_t *s, ngx_rtmp_record_rec_ctx_t *rctx,
733733
ngx_time_t next;
734734
ngx_rtmp_header_t ch;
735735
ngx_rtmp_codec_ctx_t *codec_ctx;
736-
ngx_int_t keyframe;
736+
ngx_int_t keyframe, brkframe;
737737
ngx_rtmp_record_app_conf_t *rracf;
738738

739739
rracf = rctx->conf;
@@ -743,9 +743,15 @@ ngx_rtmp_record_node_av(ngx_rtmp_session_t *s, ngx_rtmp_record_rec_ctx_t *rctx,
743743
return NGX_OK;
744744
}
745745

746-
keyframe = (ngx_rtmp_get_video_frame_type(in) == NGX_RTMP_VIDEO_KEY_FRAME);
746+
keyframe = (h->type == NGX_RTMP_MSG_VIDEO)
747+
? (ngx_rtmp_get_video_frame_type(in) == NGX_RTMP_VIDEO_KEY_FRAME)
748+
: 0;
747749

748-
if (keyframe && (rracf->flags & NGX_RTMP_RECORD_MANUAL) == 0) {
750+
brkframe = (h->type == NGX_RTMP_MSG_VIDEO)
751+
? keyframe
752+
: (rracf->flags & NGX_RTMP_RECORD_VIDEO) == 0;
753+
754+
if (brkframe && (rracf->flags & NGX_RTMP_RECORD_MANUAL) == 0) {
749755

750756
if (rracf->interval != (ngx_msec_t) NGX_CONF_UNSET) {
751757

0 commit comments

Comments
 (0)