On Tue, Oct 20, 2015 at 7:50 PM, Luca Barbato <[email protected]> wrote:
> ---
>  libavformat/img2enc.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/libavformat/img2enc.c b/libavformat/img2enc.c
> index eeb19c0..d5b6646 100644
> --- a/libavformat/img2enc.c
> +++ b/libavformat/img2enc.c
> @@ -33,6 +33,7 @@ typedef struct VideoMuxData {
>      int img_number;
>      int is_pipe;
>      char path[1024];
> +    char tmp[1024];
>      int update;
>  } VideoMuxData;
>
> @@ -41,6 +42,7 @@ static int write_header(AVFormatContext *s)
>      VideoMuxData *img = s->priv_data;
>
>      av_strlcpy(img->path, s->filename, sizeof(img->path));
> +    snprintf(img->tmp, sizeof(img->tmp), "%s.tmp", s->filename);
>
>      /* find format */
>      if (s->oformat->flags & AVFMT_NOFILE)
> @@ -70,9 +72,9 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
>              return AVERROR(EIO);
>          }
>          for (i = 0; i < 3; i++) {
> -            if (avio_open2(&pb[i], filename, AVIO_FLAG_WRITE,
> +            if (avio_open2(&pb[i], img->tmp, AVIO_FLAG_WRITE,
>                             &s->interrupt_callback, NULL) < 0) {
> -                av_log(s, AV_LOG_ERROR, "Could not open file : %s\n", 
> filename);
> +                av_log(s, AV_LOG_ERROR, "Could not open file : %s\n", 
> img->tmp);
>                  return AVERROR(EIO);
>              }
>
> @@ -121,6 +123,7 @@ error:
>      avio_flush(pb[0]);
>      if (!img->is_pipe) {
>          avio_close(pb[0]);
> +        ff_rename(img->tmp, filename);
>      }
>
>      img->img_number++;
> --
> 2.5.0
>

the patch is ok, but it would be nice that the commit log explained
why it is needed
-- 
Vittorio
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to