On 7/31/2017 5:03 AM, Steven Liu wrote:
> add byterange mode of the hls fmp4
>
> Signed-off-by: Steven Liu <[email protected]>
> ---
> 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
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel