On 11/30/18 10:55 AM, Karthick J wrote: > --- > libavformat/dashenc.c | 19 +++++++++++++------ > 1 file changed, 13 insertions(+), 6 deletions(-) > > diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c > index 04218af6a6..09207dcf44 100644 > --- a/libavformat/dashenc.c > +++ b/libavformat/dashenc.c > @@ -209,6 +209,15 @@ static const char *get_format_str(SegmentType > segment_type) { > return NULL; > } > > +static int handle_io_open_error(AVFormatContext *s, int err, char *url) { > + DASHContext *c = s->priv_data; > + char errbuf[AV_ERROR_MAX_STRING_SIZE]; > + av_strerror(err, errbuf, sizeof(errbuf)); > + av_log(s, c->ignore_io_errors ? AV_LOG_WARNING : AV_LOG_ERROR, > + "Unable to open %s for writing: %s\n", url, errbuf); > + return c->ignore_io_errors ? 0 : err; > +} > + > static inline SegmentType select_segment_type(SegmentType segment_type, enum > AVCodecID codec_id) > { > if (segment_type == SEGMENT_TYPE_AUTO) { > @@ -531,7 +540,7 @@ static void output_segment_list(OutputStream *os, > AVIOContext *out, AVFormatCont > ret = dashenc_io_open(s, &c->m3u8_out, temp_filename_hls, > &http_opts); > av_dict_free(&http_opts); > if (ret < 0) { > - av_log(s, AV_LOG_ERROR, "Unable to open %s for writing\n", > temp_filename_hls); > + handle_io_open_error(s, ret, temp_filename_hls); > return; > } > for (i = start_index; i < os->nb_segments; i++) { > @@ -846,8 +855,7 @@ static int write_manifest(AVFormatContext *s, int final) > ret = dashenc_io_open(s, &c->mpd_out, temp_filename, &opts); > av_dict_free(&opts); > if (ret < 0) { > - av_log(s, AV_LOG_ERROR, "Unable to open %s for writing\n", > temp_filename); > - return c->ignore_io_errors ? 0 : ret; > + return handle_io_open_error(s, ret, temp_filename); > } > out = c->mpd_out; > avio_printf(out, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); > @@ -937,8 +945,7 @@ static int write_manifest(AVFormatContext *s, int final) > ret = dashenc_io_open(s, &c->m3u8_out, temp_filename, &opts); > av_dict_free(&opts); > if (ret < 0) { > - av_log(s, AV_LOG_ERROR, "Unable to open %s for writing\n", > temp_filename); > - return c->ignore_io_errors ? 0 : ret; > + return handle_io_open_error(s, ret, temp_filename); > } > > ff_hls_write_playlist_version(c->m3u8_out, 7); > @@ -1567,7 +1574,7 @@ static int dash_write_packet(AVFormatContext *s, > AVPacket *pkt) > ret = dashenc_io_open(s, &os->out, os->temp_path, &opts); > av_dict_free(&opts); > if (ret < 0) { > - return c->ignore_io_errors ? 0 : ret; > + return handle_io_open_error(s, ret, os->temp_path); > } > } > Pushed
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel