[FFmpeg-devel] [PATCH] Enable dash output to work when the output isn't a local file

Hendrik Leppkes h.leppkes at gmail.com
Mon Jan 4 17:36:30 CET 2016


On Mon, Jan 4, 2016 at 3:58 PM,  <rhi at vizrt.com> wrote:
> From: Raymond Hilseth <rhi at vizrt.com>
>
> Signed-off-by: Raymond Hilseth <rhi at vizrt.com>
> ---
>  libavformat/dashenc.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
> index 4509ee4..378c4e4 100644
> --- a/libavformat/dashenc.c
> +++ b/libavformat/dashenc.c
> @@ -549,7 +549,7 @@ static int write_manifest(AVFormatContext *s, int final)
>      avio_printf(out, "</MPD>\n");
>      avio_flush(out);
>      avio_close(out);
> -    return ff_rename(temp_filename, s->filename, s);
> +    return avpriv_io_move(temp_filename, s->filename);
>  }
>
>  static int dash_write_header(AVFormatContext *s)
> @@ -856,7 +856,7 @@ static int dash_flush(AVFormatContext *s, int final, int stream)
>          } else {
>              ffurl_close(os->out);
>              os->out = NULL;
> -            ret = ff_rename(temp_path, full_path, s);
> +            ret = avpriv_io_move(temp_path, full_path);
>              if (ret < 0)
>                  break;
>          }
> --

For unknown reasons, url_move(which avpriv_io_move uses) in the "file"
protocol depends on unistd.h, which is not available everywhere.
So commiting this without making sure file.url_move is available on
all systems where ff_rename works would introduce a regression.

- Hendrik


More information about the ffmpeg-devel mailing list