[FFmpeg-devel] [PATCH v2] avformat/dashenc: Support HTTP Persistent for master.m3u8 as well

Jeyapal, Karthick kjeyapal at akamai.com
Sun Oct 21 13:59:01 EEST 2018


On 10/18/18 11:49 AM, Karthick J wrote:
> ---
>  libavformat/dashenc.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
> index 3f5f290e25..15b84a0f3b 100644
> --- a/libavformat/dashenc.c
> +++ b/libavformat/dashenc.c
> @@ -878,14 +878,14 @@ static int write_manifest(AVFormatContext *s, int final)
>          snprintf(temp_filename, sizeof(temp_filename), use_rename ? "%s.tmp" : "%s", filename_hls);
>  
>          set_http_options(&opts, c);
> -        ret = avio_open2(&out, temp_filename, AVIO_FLAG_WRITE, NULL, &opts);
> +        ret = dashenc_io_open(s, &c->m3u8_out, temp_filename, &opts);
>          if (ret < 0) {
>              av_log(s, AV_LOG_ERROR, "Unable to open %s for writing\n", temp_filename);
>              return ret;
>          }
>          av_dict_free(&opts);
>  
> -        ff_hls_write_playlist_version(out, 7);
> +        ff_hls_write_playlist_version(c->m3u8_out, 7);
>  
>          for (i = 0; i < s->nb_streams; i++) {
>              char playlist_file[64];
> @@ -894,7 +894,7 @@ static int write_manifest(AVFormatContext *s, int final)
>              if (st->codecpar->codec_type != AVMEDIA_TYPE_AUDIO)
>                  continue;
>              get_hls_playlist_name(playlist_file, sizeof(playlist_file), NULL, i);
> -            ff_hls_write_audio_rendition(out, (char *)audio_group,
> +            ff_hls_write_audio_rendition(c->m3u8_out, (char *)audio_group,
>                                           playlist_file, i, is_default);
>              max_audio_bitrate = FFMAX(st->codecpar->bit_rate +
>                                        os->muxer_overhead, max_audio_bitrate);
> @@ -923,10 +923,11 @@ static int write_manifest(AVFormatContext *s, int final)
>                  av_strlcat(codec_str, audio_codec_str, sizeof(codec_str));
>              }
>              get_hls_playlist_name(playlist_file, sizeof(playlist_file), NULL, i);
> -            ff_hls_write_stream_info(st, out, stream_bitrate, playlist_file, agroup,
> +            ff_hls_write_stream_info(st, c->m3u8_out, stream_bitrate,
> +                                     playlist_file, agroup,
>                                       codec_str, NULL);
>          }
> -        avio_close(out);
> +        dashenc_io_close(s, &c->m3u8_out, temp_filename);
>          if (use_rename)
>              if ((ret = avpriv_io_move(temp_filename, filename_hls)) < 0)
>                  return ret;
Pushed

Regards,
Karthick



More information about the ffmpeg-devel mailing list