avformat/dashenc: Support HTTP Persistent for master.m3u8 as well

This commit is contained in:
kjeyapal@akamai.com 2018-10-18 11:49:51 +05:30 committed by Karthick J
parent 0939c33b54
commit f848d384dd
1 changed files with 6 additions and 5 deletions

View File

@ -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;