Re: [FFmpeg-devel] [PATCH] avformat/hlsenc: Fixed initial setting for end_pts
2017-11-27 13:16 GMT+08:00 Steven Liu : > 2017-11-27 13:03 GMT+08:00 Karthick J : >> This patch fixes Bug #6868 >> Sometimes end_pts is getting initialized to audio stream's >> first pts, while the duration is calculated based on video stream's pts. >> In this patch the end_pts is initialized with the correct stream's first pts. >> --- >> libavformat/hlsenc.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c >> index 30ccf73..6997a5c 100644 >> --- a/libavformat/hlsenc.c >> +++ b/libavformat/hlsenc.c >> @@ -1737,6 +1737,7 @@ static int hls_write_header(AVFormatContext *s) >> vs->sequence = hls->start_sequence; >> hls->recording_time = (hls->init_time ? hls->init_time : hls->time) * >> AV_TIME_BASE; >> vs->start_pts = AV_NOPTS_VALUE; >> +vs->end_pts = AV_NOPTS_VALUE; >> vs->current_segment_final_filename_fmt[0] = '\0'; >> >> if (hls->flags & HLS_SPLIT_BY_TIME && hls->flags & >> HLS_INDEPENDENT_SEGMENTS) { >> @@ -2111,7 +2112,6 @@ static int hls_write_packet(AVFormatContext *s, >> AVPacket *pkt) >> >> if (vs->start_pts == AV_NOPTS_VALUE) { >> vs->start_pts = pkt->pts; >> -vs->end_pts = pkt->pts; >> } >> >> if (vs->has_video) { >> @@ -2123,6 +2123,8 @@ static int hls_write_packet(AVFormatContext *s, >> AVPacket *pkt) >> is_ref_pkt = can_split = 0; >> >> if (is_ref_pkt) { >> +if (vs->end_pts == AV_NOPTS_VALUE) >> +vs->end_pts = pkt->pts; >> if (vs->new_start) { >> vs->new_start = 0; >> vs->duration = (double)(pkt->pts - vs->end_pts) >> -- >> 1.9.1 >> >> ___ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > LGTM, > > Wait the reporter feedback > > > Thanks pushed Thanks ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avformat/hlsenc: Fixed initial setting for end_pts
2017-11-27 13:03 GMT+08:00 Karthick J : > This patch fixes Bug #6868 > Sometimes end_pts is getting initialized to audio stream's > first pts, while the duration is calculated based on video stream's pts. > In this patch the end_pts is initialized with the correct stream's first pts. > --- > libavformat/hlsenc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c > index 30ccf73..6997a5c 100644 > --- a/libavformat/hlsenc.c > +++ b/libavformat/hlsenc.c > @@ -1737,6 +1737,7 @@ static int hls_write_header(AVFormatContext *s) > vs->sequence = hls->start_sequence; > hls->recording_time = (hls->init_time ? hls->init_time : hls->time) * > AV_TIME_BASE; > vs->start_pts = AV_NOPTS_VALUE; > +vs->end_pts = AV_NOPTS_VALUE; > vs->current_segment_final_filename_fmt[0] = '\0'; > > if (hls->flags & HLS_SPLIT_BY_TIME && hls->flags & > HLS_INDEPENDENT_SEGMENTS) { > @@ -2111,7 +2112,6 @@ static int hls_write_packet(AVFormatContext *s, > AVPacket *pkt) > > if (vs->start_pts == AV_NOPTS_VALUE) { > vs->start_pts = pkt->pts; > -vs->end_pts = pkt->pts; > } > > if (vs->has_video) { > @@ -2123,6 +2123,8 @@ static int hls_write_packet(AVFormatContext *s, > AVPacket *pkt) > is_ref_pkt = can_split = 0; > > if (is_ref_pkt) { > +if (vs->end_pts == AV_NOPTS_VALUE) > +vs->end_pts = pkt->pts; > if (vs->new_start) { > vs->new_start = 0; > vs->duration = (double)(pkt->pts - vs->end_pts) > -- > 1.9.1 > > ___ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel LGTM, Wait the reporter feedback Thanks ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel