> 在 2019年9月3日,上午10:41,Steven Liu <l...@chinaffmpeg.org> 写道: > > when the playlist is master playlist, there have many playlist. > the workflow should continue if one of the playlist is broken. > > Signed-off-by: Steven Liu <l...@chinaffmpeg.org> > --- > libavformat/hls.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/libavformat/hls.c b/libavformat/hls.c > index 3aee7a19ae..d2fafe0302 100644 > --- a/libavformat/hls.c > +++ b/libavformat/hls.c > @@ -1408,8 +1408,11 @@ restart: > > reload: > reload_count++; > - if (reload_count > c->max_reload) > + if (reload_count > c->max_reload) { > + v->broken = 1; > + v->needed = 0; > return AVERROR_EOF; > + } > if (!v->finished && > av_gettime_relative() - v->last_load_time >= reload_interval) { > if ((ret = parse_playlist(c, v->url, v, NULL)) < 0) { > @@ -1459,7 +1462,7 @@ reload: > if (ret < 0) { > if (ff_check_interrupt(c->interrupt_callback)) > return AVERROR_EXIT; > - av_log(v->parent, AV_LOG_WARNING, "Failed to open segment %d of > playlist %d\n", > + av_log(v->parent, AV_LOG_WARNING, "Failed to open segment %d of > playlist %d, will reload\n", > v->cur_seq_no, > v->index); > v->cur_seq_no += 1; > @@ -1925,6 +1928,7 @@ static int hls_read_header(AVFormatContext *s) > av_log(s, AV_LOG_ERROR, "Error when loading first segment > '%s'\n", pls->segments[0]->url); > avformat_free_context(pls->ctx); > pls->ctx = NULL; > + if (c->n_playlists > 1) continue; > goto fail; > } > pls->ctx->pb = &pls->pb; > -- > 2.17.2 (Apple Git-113) >
ping This is base on the patch: https://patchwork.ffmpeg.org/patch/14879/ 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".