ret = avio_open2(&out, temp_filename, AVIO_FLAG_WRITE,
&s->interrupt_callback, NULL);
if (ret < 0) {
- av_log(s, AV_LOG_ERROR, "Unable to open %s for writing\n", filename);
+ av_log(s, AV_LOG_ERROR, "Unable to open %s for writing\n", temp_filename);
return ret;
}
avio_printf(out, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
avio_printf(out, "</manifest>\n");
avio_flush(out);
avio_close(out);
- if (rename(temp_filename, filename) == -1) {
- av_log(s, AV_LOG_ERROR, "failed to rename file %s to %s\n", temp_filename, filename);
- return AVERROR(errno);
- }
- return 0;
+ return ff_rename(temp_filename, filename, s);
}
static void update_size(AVIOContext *out, int64_t pos)
update_size(out, afrt_pos);
update_size(out, 0);
avio_close(out);
- if (rename(temp_filename, filename) == -1) {
- av_log(s, AV_LOG_ERROR, "failed to rename file %s to %s\n", temp_filename, filename);
- return AVERROR(errno);
- }
- return 0;
+ return ff_rename(temp_filename, filename, s);
}
static int init_file(AVFormatContext *s, OutputStream *os, int64_t start_ts)
AVOutputFormat *oformat;
if (mkdir(s->filename, 0777) == -1 && errno != EEXIST) {
- av_log(s, AV_LOG_ERROR , "Failed to create directory %s\n", s->filename);
ret = AVERROR(errno);
+ av_log(s, AV_LOG_ERROR , "Failed to create directory %s\n", s->filename);
goto fail;
}
goto fail;
}
avcodec_copy_context(st->codec, s->streams[i]->codec);
+ st->codec->codec_tag = 0;
st->sample_aspect_ratio = s->streams[i]->sample_aspect_ratio;
+ st->time_base = s->streams[i]->time_base;
}
if (c->streams[c->nb_streams].ctx)
c->nb_streams++;
snprintf(target_filename, sizeof(target_filename),
"%s/stream%dSeg1-Frag%d", s->filename, index, os->fragment_index);
- if (rename(os->temp_filename, target_filename) == -1) {
- av_log(s, AV_LOG_ERROR, "failed to rename file %s to %s\n", os->temp_filename, target_filename);
- return AVERROR(errno);
- }
+ ret = ff_rename(os->temp_filename, target_filename, s);
+ if (ret < 0)
+ return ret;
add_fragment(os, target_filename, os->frag_start_ts, end_ts - os->frag_start_ts);
if (!final) {