mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-24 17:12:34 +02:00
avformat/dashenc: Support HTTP Persistent for master.m3u8 as well
This commit is contained in:
parent
0939c33b54
commit
f848d384dd
@ -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);
|
snprintf(temp_filename, sizeof(temp_filename), use_rename ? "%s.tmp" : "%s", filename_hls);
|
||||||
|
|
||||||
set_http_options(&opts, c);
|
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) {
|
if (ret < 0) {
|
||||||
av_log(s, AV_LOG_ERROR, "Unable to open %s for writing\n", temp_filename);
|
av_log(s, AV_LOG_ERROR, "Unable to open %s for writing\n", temp_filename);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
av_dict_free(&opts);
|
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++) {
|
for (i = 0; i < s->nb_streams; i++) {
|
||||||
char playlist_file[64];
|
char playlist_file[64];
|
||||||
@ -894,7 +894,7 @@ static int write_manifest(AVFormatContext *s, int final)
|
|||||||
if (st->codecpar->codec_type != AVMEDIA_TYPE_AUDIO)
|
if (st->codecpar->codec_type != AVMEDIA_TYPE_AUDIO)
|
||||||
continue;
|
continue;
|
||||||
get_hls_playlist_name(playlist_file, sizeof(playlist_file), NULL, i);
|
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);
|
playlist_file, i, is_default);
|
||||||
max_audio_bitrate = FFMAX(st->codecpar->bit_rate +
|
max_audio_bitrate = FFMAX(st->codecpar->bit_rate +
|
||||||
os->muxer_overhead, max_audio_bitrate);
|
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));
|
av_strlcat(codec_str, audio_codec_str, sizeof(codec_str));
|
||||||
}
|
}
|
||||||
get_hls_playlist_name(playlist_file, sizeof(playlist_file), NULL, i);
|
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);
|
codec_str, NULL);
|
||||||
}
|
}
|
||||||
avio_close(out);
|
dashenc_io_close(s, &c->m3u8_out, temp_filename);
|
||||||
if (use_rename)
|
if (use_rename)
|
||||||
if ((ret = avpriv_io_move(temp_filename, filename_hls)) < 0)
|
if ((ret = avpriv_io_move(temp_filename, filename_hls)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user