zhilizhao <quinkbl...@foxmail.com> 于2020年8月17日周一 上午10:54写道:
>
> 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.
Ah ,yes, should
"Output a warning message if the target duration of the segment is negative."
>
> > 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.
What about return a suggestion and give an error message?
"duration < 0, maybe you splited a too short segment, you should split
an keyframe if too short."?
>
> >
> > 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".

Thanks
Steven
_______________________________________________
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".

Reply via email to