AVDictionary *opts = NULL;
os->tail_out = os->out;
av_dict_set(&opts, "truncate", "0", 0);
- ret = ffurl_open_whitelist(&os->out, frag->file, AVIO_FLAG_READ_WRITE,
+ ret = ffurl_open_whitelist(&os->out, frag->file, AVIO_FLAG_WRITE,
&os->ctx->interrupt_callback, &opts, os->ctx->protocol_whitelist);
av_dict_free(&opts);
if (ret < 0) {
return ret;
}
av_dict_set(&opts, "truncate", "0", 0);
- ffurl_open_whitelist(&os->out2, frag->infofile, AVIO_FLAG_READ_WRITE,
+ ffurl_open_whitelist(&os->out2, frag->infofile, AVIO_FLAG_WRITE,
&os->ctx->interrupt_callback, &opts, os->ctx->protocol_whitelist);
av_dict_free(&opts);
ffurl_seek(os->out, offset - frag->start_pos, SEEK_SET);
snprintf(filename, sizeof(filename), "%s/Manifest", s->filename);
snprintf(temp_filename, sizeof(temp_filename), "%s/Manifest.tmp", s->filename);
- ret = ffio_open_whitelist(&out, temp_filename, AVIO_FLAG_WRITE, &s->interrupt_callback, NULL, s->protocol_whitelist);
+ ret = s->io_open(s, &out, temp_filename, AVIO_FLAG_WRITE, NULL);
if (ret < 0) {
av_log(s, AV_LOG_ERROR, "Unable to open %s for writing\n", temp_filename);
return ret;
}
avio_printf(out, "</SmoothStreamingMedia>\n");
avio_flush(out);
- avio_close(out);
+ ff_format_io_close(s, &out);
return ff_rename(temp_filename, filename, s);
}
AVIOContext *in;
int ret;
uint32_t len;
- if ((ret = ffio_open_whitelist(&in, filename, AVIO_FLAG_READ, &s->interrupt_callback, NULL, s->protocol_whitelist)) < 0)
+ if ((ret = s->io_open(s, &in, filename, AVIO_FLAG_READ, NULL)) < 0)
return ret;
ret = AVERROR(EIO);
*moof_size = avio_rb32(in);
avio_seek(in, end, SEEK_SET);
}
fail:
- avio_close(in);
+ ff_format_io_close(s, &in);
return ret;
}
{
AVIOContext *in, *out;
int ret = 0;
- if ((ret = ffio_open_whitelist(&in, infile, AVIO_FLAG_READ, &s->interrupt_callback, NULL, s->protocol_whitelist)) < 0)
+ if ((ret = s->io_open(s, &in, infile, AVIO_FLAG_READ, NULL)) < 0)
return ret;
- if ((ret = ffio_open_whitelist(&out, outfile, AVIO_FLAG_WRITE, &s->interrupt_callback, NULL, s->protocol_whitelist)) < 0) {
- avio_close(in);
+ if ((ret = s->io_open(s, &out, outfile, AVIO_FLAG_WRITE, NULL)) < 0) {
+ ff_format_io_close(s, &in);
return ret;
}
while (size > 0) {
size -= n;
}
avio_flush(out);
- avio_close(out);
- avio_close(in);
+ ff_format_io_close(s, &out);
+ ff_format_io_close(s, &in);
return ret;
}