Hi Steven, > On Aug 17, 2020, at 8:49 AM, Steven Liu <l...@chinaffmpeg.org> wrote: > > output a warning message if the target duration of the segment.
The sentence is incomplete. > and modify the target duration to one packet duration, > because there maybe have bframe and then split not by keyframe, > and the segment is very very small. The warning message is very helpful, modify the target duration is less helpful IMHO. The generated files are broken and cannot be fixed. Let the user see what’s going wrong from the log messages or from the m3u8 files, and fix the usage problem. > > Signed-off-by: Steven Liu <l...@chinaffmpeg.org> > --- > libavformat/hlsenc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c > index cb31d6aed7..76d59f5f79 100644 > --- a/libavformat/hlsenc.c > +++ b/libavformat/hlsenc.c > @@ -2512,6 +2512,11 @@ static int hls_write_packet(AVFormatContext *s, > AVPacket *pkt) > > if (vs->start_pos || hls->segment_type != SEGMENT_TYPE_FMP4) { > double cur_duration = (double)(pkt->pts - vs->end_pts) * > st->time_base.num / st->time_base.den; > + if (cur_duration < 0) { > + av_log(s, AV_LOG_WARNING, "duration < 0, maybe you splited a > too short segment, " > + "the duration will set to 1 packet > duration.\n"); > + cur_duration = vs->duration; > + } > ret = hls_append_segment(s, hls, vs, cur_duration, vs->start_pos, > vs->size); > vs->end_pts = pkt->pts; > vs->duration = 0; > -- > 2.25.0 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".