On 7/31/2017 5:03 AM, Steven Liu wrote: > add byterange mode of the hls fmp4 > > Signed-off-by: Steven Liu <l...@onvideo.cn> > --- > libavformat/hlsenc.c | 72 > ++++++++++++++++++++++++++++++++-------------------- > 1 file changed, 44 insertions(+), 28 deletions(-) > > diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c > index f98f041..cfc28d2 100644 > --- a/libavformat/hlsenc.c > +++ b/libavformat/hlsenc.c > @@ -531,6 +531,7 @@ static int hls_mux_init(AVFormatContext *s) > HLSContext *hls = s->priv_data; > AVFormatContext *oc; > AVFormatContext *vtt_oc = NULL; > + int byterange_mode = (hls->flags & HLS_SINGLE_FILE) || > (hls->max_seg_size > 0);
Not quite sure I understand the '|| (hls->max_seg_size > 0)' part. Is there ever a time that byte range mode is used with more than one file, allowed by the spec? > if (hls->segment_type == SEGMENT_TYPE_FMP4) { > - hls->fmp4_init_mode = 1; > + if (byterange_mode) { > + hls->fmp4_init_mode = 0; > + } else { > + hls->fmp4_init_mode = 1; > + } hls->fmp4_init_mode = !byterange_mode; > if(hls->has_subtitle) { > - > if (hls->flags & HLS_SINGLE_FILE) Accidental white space change. > + if ((hls->flags & HLS_SINGLE_FILE) && (hls->segment_type == > SEGMENT_TYPE_FMP4)) { > + hls->fmp4_init_filename = av_strdup(hls->basename); Missing NULL check. - Derek _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel