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