On 2/28/18 9:09 AM, Jeyapal, Karthick wrote: > > > On 2/27/18 2:48 PM, Serhii Marchuk wrote: >> --- >> libavformat/dashenc.c | 28 +++++++++++++++++++++++++--- >> 1 file changed, 25 insertions(+), 3 deletions(-) >> >> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c >> index 83e0cff728..66f12d8d49 100644 >> --- a/libavformat/dashenc.c >> +++ b/libavformat/dashenc.c >> @@ -1131,6 +1131,28 @@ static int update_stream_extradata(AVFormatContext >> *s, OutputStream *os, >> return 0; >> } >> >> +static void dashenc_delete_file(AVFormatContext *s, char *filename) { >> + DASHContext *c = s->priv_data; >> + int http_base_proto = ff_is_http_proto(filename); >> + >> + if (http_base_proto) { >> + AVIOContext *out = NULL; >> + AVDictionary *http_opts = NULL; >> + >> + set_http_options(&http_opts, c); >> + av_dict_set(&http_opts, "method", "DELETE", 0); >> + >> + if (dashenc_io_open(s, &out, filename, &http_opts) < 0) { >> + av_log(s, AV_LOG_ERROR, "failed to delete %s\n", filename); >> + } >> + >> + av_dict_free(&http_opts); >> + dashenc_io_close(s, &out, filename); >> + } else if (unlink(filename) < 0) { >> + av_log(s, AV_LOG_ERROR, "failed to delete %s: %s\n", filename, >> strerror(errno)); >> + } >> +} >> + >> static int dash_flush(AVFormatContext *s, int final, int stream) >> { >> DASHContext *c = s->priv_data; >> @@ -1215,7 +1237,7 @@ static int dash_flush(AVFormatContext *s, int final, >> int stream) >> for (j = 0; j < remove; j++) { >> char filename[1024]; >> snprintf(filename, sizeof(filename), "%s%s", >> c->dirname, os->segments[j]->file); >> - unlink(filename); >> + dashenc_delete_file(s, filename); >> av_free(os->segments[j]); >> } >> os->nb_segments -= remove; >> @@ -1367,9 +1389,9 @@ static int dash_write_trailer(AVFormatContext *s) >> for (i = 0; i < s->nb_streams; i++) { >> OutputStream *os = &c->streams[i]; >> snprintf(filename, sizeof(filename), "%s%s", c->dirname, >> os->initfile); >> - unlink(filename); >> + dashenc_delete_file(s, filename); >> } >> - unlink(s->url); >> + dashenc_delete_file(s, s->url); >> } >> >> return 0; > Thanks for sending the patch. LGTM. > But let me test it with some of existing servers before the final push, just > to make sure no existing functionality is broken. Pushed.
Regards, Karthick > > > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel